itemengine-cypress-automation 1.0.584-IEI-7048-098328c.0 → 1.0.584-IEI-7067-Add-Automated-test-coverage-for-essay-respone-math-a7fb10a.0
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/EssayResponseMath/mathCharacters.js +69 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingGroupedScoring.js +4 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +109 -8
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +109 -8
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +109 -8
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/blankResponseScoring.js +7 -2
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +139 -10
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsBasic.js +4 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +124 -9
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +139 -10
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsBasic.js +4 -1
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +124 -9
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +109 -8
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +124 -9
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +243 -2
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -77
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +1 -78
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +1 -78
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +9 -104
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +0 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -95
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -95
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -84
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +0 -4
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -73
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -84
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +2 -187
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +1 -79
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -79
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -79
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +0 -4
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -103
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +0 -4
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -103
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -103
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -91
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +0 -4
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -79
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -91
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +5 -209
- package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +1 -195
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -103
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +0 -85
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +0 -82
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +0 -85
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +6 -109
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsBasic.js +0 -4
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +0 -103
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -103
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +0 -91
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsBasic.js +0 -4
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +0 -79
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +0 -91
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +3 -207
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +1 -9
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -102
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +2 -102
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -107
- package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +2 -36
- package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +0 -5
- package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +0 -1
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +1 -10
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -128
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -115
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -128
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +1 -9
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -115
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -102
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -115
- package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +2 -226
- package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +1 -9
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +2 -102
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +2 -102
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +2 -102
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +5 -32
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +0 -3
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +1 -10
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -128
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +2 -115
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +2 -128
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +1 -9
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +2 -115
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +2 -102
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +2 -115
- package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +2 -216
- package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +1 -18
- package/cypress/pages/components/essayResponseCommonComponents.js +1 -1
- package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +25 -1
- package/cypress/pages/listOrderingPage.js +1 -60
- package/cypress/pages/matchingPage.js +1 -23
- package/package.json +1 -1
|
@@ -199,4 +199,73 @@ describe('Essay response math: Customize math characters', () => {
|
|
|
199
199
|
utilities.verifyElementVisibilityState(essayResponseMathPage.dialogBox(), 'notExist');
|
|
200
200
|
});
|
|
201
201
|
});
|
|
202
|
+
|
|
203
|
+
describe.only('Item preview - toolbar option - \'Math characters\' - content and functionality', () => {
|
|
204
|
+
abortEarlySetup();
|
|
205
|
+
before(() => {
|
|
206
|
+
essayResponseMathPage.steps.navigateToCreateQuestion('essay response - math');
|
|
207
|
+
cy.barsPreLoaderWait();
|
|
208
|
+
essayResponseMathPage.steps.saveAQuestionAndVerifySnackbar();
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
it(`When Math characters option is not selected in edit tab, then in item preview the Math characters toolbar option should not be displayed`, () => {
|
|
212
|
+
essayResponseMathPage.steps.switchToPreviewTab();
|
|
213
|
+
utilities.verifyElementVisibilityState(essayResponseMathPage.previewTabToolbarOption('Math characters'), 'notExist');
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
it(`When Math characters additional option is selected in edit tab, then in item preview the Math characters toolbar option should be displayed`, () => {
|
|
217
|
+
essayResponseMathPage.steps.switchToEditTab();
|
|
218
|
+
essayResponseMathPage.steps.clickOnEditQuestionButton();
|
|
219
|
+
essayResponseMathPage.steps.expandCustomizeFormattingOptionsAccordion();
|
|
220
|
+
essayResponseMathPage.steps.selectCustomizedFormattingOption(['Math Characters']);
|
|
221
|
+
essayResponseMathPage.steps.saveAQuestionAndVerifySnackbar();
|
|
222
|
+
essayResponseMathPage.steps.switchToPreviewTab();
|
|
223
|
+
utilities.verifyElementVisibilityState(essayResponseMathPage.previewTabToolbarOption('Math characters'), 'visible');
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
it('By default the \'Math characters\' toolbar option should be in deselected state in item preview', () => {
|
|
227
|
+
essayResponseMathPage.steps.verifyPreviewTabToolbarOptionNotSelected('Math characters');
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
it('When user clicks on \'Math characters\' toolbar option, then the \'Math characters\' popup should be displayed with \'Math characters\' title and a \'Close\' button in item preview', () => {
|
|
231
|
+
essayResponseMathPage.steps.selectPreviewTabToolbarOption('Math characters');
|
|
232
|
+
utilities.verifyElementVisibilityState(essayResponseMathPage.dialogBox(), 'visible');
|
|
233
|
+
utilities.verifyInnerText(essayResponseMathPage.dialogBoxTitle(), 'Math characters');
|
|
234
|
+
utilities.verifyElementVisibilityState(essayResponseMathPage.mathCharactersPopupCloseButton(), 'visible');
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
it('All categories and their respective title and symbols should be displayed in the popup in item preview', () => {
|
|
238
|
+
//essayResponseMathPage.steps.verifyMathCharactersPopupCategoriesAndSymbols(mathCharacters);
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
it('When user clicks on any category icon, then the category flyout should stay open in item preview', () => {
|
|
242
|
+
essayResponseMathPage.steps.clickOnCharacterPopupSymbol('square root');
|
|
243
|
+
utilities.verifyElementVisibilityState(essayResponseMathPage.dialogBox(), 'visible');
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it('CSS of \'Math characters\' popup in item preview', { tags: 'css' }, () => {
|
|
247
|
+
utilities.verifyCSS(essayResponseMathPage.dialogBoxTitle(), {
|
|
248
|
+
'color': css.color.flyoutTitle,
|
|
249
|
+
'font-size': css.fontSize.heading,
|
|
250
|
+
'font-weight': css.fontWeight.semibold,
|
|
251
|
+
});
|
|
252
|
+
utilities.verifyCSS(essayResponseMathPage.mathCharactersPopupCategoryTitle(), {
|
|
253
|
+
'color': css.color.text,
|
|
254
|
+
'font-size': css.fontSize.normal,
|
|
255
|
+
'font-weight': css.fontWeight.semibold,
|
|
256
|
+
});
|
|
257
|
+
utilities.verifyCSS(essayResponseMathPage.mathCharactersPopupCharacterSymbol().find('path'), {
|
|
258
|
+
'fill': css.color.activeButtons
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it('Accessibility of Customize special characters in item preview', { tags: 'a11y' }, () => {
|
|
263
|
+
cy.checkAccessibility(essayResponseMathPage.dialogBox());
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
it('When user clicks on the \'Close\' button then the \'Math characters\' popup should be closed in item preview', () => {
|
|
267
|
+
essayResponseMathPage.steps.clickOnMathCharacterCloseButton();
|
|
268
|
+
utilities.verifyElementVisibilityState(essayResponseMathPage.dialogBox(), 'notExist');
|
|
269
|
+
});
|
|
270
|
+
});
|
|
202
271
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { fillInTheGapsDragAndDropPage } from "../../../../pages";
|
|
2
2
|
import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
|
3
3
|
import utilities from "../../../../support/helpers/utilities";
|
|
4
|
+
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
|
|
4
5
|
|
|
5
6
|
describe('Create item page - Fill in the gaps with drag and drop: All or nothing with grouped options layout', () => {
|
|
6
7
|
before(() => {
|
|
@@ -26,7 +27,9 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
26
27
|
fillInTheGapsDragAndDropPage.steps.switchToGradingView();
|
|
27
28
|
fillInTheGapsDragAndDropPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
|
|
28
29
|
fillInTheGapsDragAndDropPage.steps.verifyDropzoneNumeration();
|
|
29
|
-
|
|
30
|
+
if (!alternativeAnswerCheck) {
|
|
31
|
+
utilities.verifyInnerText(fillInTheGapsDragAndDropPage.correctAnswersLabel(), 'Correct answers');
|
|
32
|
+
}
|
|
30
33
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Leaves'], ['Stem']]);
|
|
31
34
|
});
|
|
32
35
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { fillInTheGapsDragAndDropPage } from "../../../../pages";
|
|
2
|
+
import { showAlternativeAnswersComponent } from "../../../../pages/components";
|
|
2
3
|
import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
|
3
4
|
import utilities from "../../../../support/helpers/utilities";
|
|
5
|
+
|
|
6
|
+
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
|
|
4
7
|
const css = Cypress.env('css');
|
|
5
8
|
|
|
6
9
|
describe('Create item page - Fill in the gaps with drag and drop: All or nothing with alternative answers', () => {
|
|
@@ -29,9 +32,23 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
29
32
|
it('When the user selects \'Grading\' view without attempting the question, cell numeration should be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers from the correct accordion and respective cell numeration', () => {
|
|
30
33
|
fillInTheGapsDragAndDropPage.steps.switchToGradingView();
|
|
31
34
|
fillInTheGapsDragAndDropPage.steps.verifyDropzoneNumeration();
|
|
32
|
-
utilities.verifyInnerText(fillInTheGapsDragAndDropPage.correctAnswersLabel(), 'Correct answers');
|
|
33
35
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
|
|
34
|
-
|
|
36
|
+
if (alternativeAnswerCheck) {
|
|
37
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
38
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
39
|
+
{
|
|
40
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
41
|
+
points: ['(20 points)'],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
45
|
+
points: ['(10 points)'],
|
|
46
|
+
}
|
|
47
|
+
]);
|
|
48
|
+
} else {
|
|
49
|
+
utilities.verifyInnerText(fillInTheGapsDragAndDropPage.correctAnswersLabel(), 'Correct answers');
|
|
50
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
51
|
+
}
|
|
35
52
|
});
|
|
36
53
|
|
|
37
54
|
it('When the user attempts the question with responses from the correct accordion, then the user should be awarded points of the correct tab and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
|
|
@@ -83,7 +100,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
83
100
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
84
101
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
85
102
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
86
|
-
|
|
103
|
+
if (alternativeAnswerCheck) {
|
|
104
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
105
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
106
|
+
{
|
|
107
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
108
|
+
points: ['(20 points)'],
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
112
|
+
points: ['(10 points)'],
|
|
113
|
+
}
|
|
114
|
+
]);
|
|
115
|
+
} else {
|
|
116
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
117
|
+
}
|
|
87
118
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
88
119
|
/*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
89
120
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -103,7 +134,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
103
134
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
104
135
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
105
136
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
106
|
-
|
|
137
|
+
if (alternativeAnswerCheck) {
|
|
138
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
139
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
140
|
+
{
|
|
141
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
142
|
+
points: ['(20 points)'],
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
146
|
+
points: ['(10 points)'],
|
|
147
|
+
}
|
|
148
|
+
]);
|
|
149
|
+
} else {
|
|
150
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
151
|
+
}
|
|
107
152
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
108
153
|
/*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
109
154
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -123,7 +168,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
123
168
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
124
169
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
125
170
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
126
|
-
|
|
171
|
+
if (alternativeAnswerCheck) {
|
|
172
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
173
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
174
|
+
{
|
|
175
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
176
|
+
points: ['(20 points)'],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
180
|
+
points: ['(10 points)'],
|
|
181
|
+
}
|
|
182
|
+
]);
|
|
183
|
+
} else {
|
|
184
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
185
|
+
}
|
|
127
186
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
128
187
|
/*cy.log('When the user has attempted the question with partially correct with all the response correct as per the alternative accordion but one response incomplete and clicks on \'Check answer\' button, then correct icon should be displayed besides the response from the correct accordion, incorrect icon should be displayed besides the responses from the alternative accordion and no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
129
188
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -143,7 +202,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
143
202
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
144
203
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
145
204
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
146
|
-
|
|
205
|
+
if (alternativeAnswerCheck) {
|
|
206
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
207
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
208
|
+
{
|
|
209
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
210
|
+
points: ['(20 points)'],
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
214
|
+
points: ['(10 points)'],
|
|
215
|
+
}
|
|
216
|
+
]);
|
|
217
|
+
} else {
|
|
218
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
219
|
+
}
|
|
147
220
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
148
221
|
/*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside empty responses a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
149
222
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -163,7 +236,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
163
236
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
164
237
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
165
238
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
166
|
-
|
|
239
|
+
if (alternativeAnswerCheck) {
|
|
240
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
241
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
242
|
+
{
|
|
243
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
244
|
+
points: ['(20 points)'],
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
248
|
+
points: ['(10 points)'],
|
|
249
|
+
}
|
|
250
|
+
]);
|
|
251
|
+
} else {
|
|
252
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
253
|
+
}
|
|
167
254
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
168
255
|
/*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
169
256
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -183,7 +270,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
183
270
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
184
271
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
185
272
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
186
|
-
|
|
273
|
+
if (alternativeAnswerCheck) {
|
|
274
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
275
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
276
|
+
{
|
|
277
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
278
|
+
points: ['(20 points)'],
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
282
|
+
points: ['(10 points)'],
|
|
283
|
+
}
|
|
284
|
+
]);
|
|
285
|
+
} else {
|
|
286
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Stem'], ['Seed']]);
|
|
287
|
+
}
|
|
187
288
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
188
289
|
/*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icons should be displayed besides all incorrect responses, no icon should be displayed for unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
189
290
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { fillInTheGapsDragAndDropPage } from "../../../../pages";
|
|
2
|
+
import { showAlternativeAnswersComponent } from "../../../../pages/components";
|
|
2
3
|
import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
|
3
4
|
import utilities from "../../../../support/helpers/utilities";
|
|
5
|
+
|
|
6
|
+
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
|
|
4
7
|
const css = Cypress.env('css');
|
|
5
8
|
|
|
6
9
|
describe('Create item page - Fill in the gaps with drag and drop: All or nothing with alternative answers', () => {
|
|
@@ -29,8 +32,22 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
29
32
|
fillInTheGapsDragAndDropPage.steps.switchToGradingView();
|
|
30
33
|
fillInTheGapsDragAndDropPage.steps.verifyDropzoneNumeration();
|
|
31
34
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
if (alternativeAnswerCheck) {
|
|
36
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
37
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
38
|
+
{
|
|
39
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
40
|
+
points: ['(20 points)'],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
44
|
+
points: ['(20 points)'],
|
|
45
|
+
}
|
|
46
|
+
]);
|
|
47
|
+
} else {
|
|
48
|
+
utilities.verifyInnerText(fillInTheGapsDragAndDropPage.correctAnswersLabel(), 'Correct answers');
|
|
49
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
50
|
+
}
|
|
34
51
|
});
|
|
35
52
|
|
|
36
53
|
it('When the user attempts the question with responses from the correct accordion, then the user should be awarded full points and on switching to \'Grading\' view, correct icons should be displayed beside all the correct responses, a status message with text \'Your answer is correct\' and correct answer section should not be displayed', () => {
|
|
@@ -82,7 +99,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
82
99
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
83
100
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
84
101
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
85
|
-
|
|
102
|
+
if (alternativeAnswerCheck) {
|
|
103
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
104
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
105
|
+
{
|
|
106
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
107
|
+
points: ['(20 points)'],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
111
|
+
points: ['(20 points)'],
|
|
112
|
+
}
|
|
113
|
+
]);
|
|
114
|
+
} else {
|
|
115
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
116
|
+
}
|
|
86
117
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
87
118
|
/*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
88
119
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -102,7 +133,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
102
133
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
103
134
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
104
135
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
105
|
-
|
|
136
|
+
if (alternativeAnswerCheck) {
|
|
137
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
138
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
139
|
+
{
|
|
140
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
141
|
+
points: ['(20 points)'],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
145
|
+
points: ['(20 points)'],
|
|
146
|
+
}
|
|
147
|
+
]);
|
|
148
|
+
} else {
|
|
149
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
150
|
+
}
|
|
106
151
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
107
152
|
/*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
108
153
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -122,7 +167,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
122
167
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
123
168
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
124
169
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
125
|
-
|
|
170
|
+
if (alternativeAnswerCheck) {
|
|
171
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
172
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
173
|
+
{
|
|
174
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
175
|
+
points: ['(20 points)'],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
179
|
+
points: ['(20 points)'],
|
|
180
|
+
}
|
|
181
|
+
]);
|
|
182
|
+
} else {
|
|
183
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
184
|
+
}
|
|
126
185
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
127
186
|
/*cy.log('When the user has attempted the question with partially correct with all the response correct as per the alternative accordion but one response incomplete and clicks on \'Check answer\' button, then correct icon should be displayed besides the response from the alternative accordion, incorrect icon should be displayed besides the empty response, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
128
187
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -142,7 +201,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
142
201
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
143
202
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
144
203
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
145
|
-
|
|
204
|
+
if (alternativeAnswerCheck) {
|
|
205
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
206
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
207
|
+
{
|
|
208
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
209
|
+
points: ['(20 points)'],
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
213
|
+
points: ['(20 points)'],
|
|
214
|
+
}
|
|
215
|
+
]);
|
|
216
|
+
} else {
|
|
217
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
218
|
+
}
|
|
146
219
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
147
220
|
/*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, red cross-mark should be displayed beside option from the alternative accordion a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
148
221
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -162,7 +235,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
162
235
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
163
236
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
164
237
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
165
|
-
|
|
238
|
+
if (alternativeAnswerCheck) {
|
|
239
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
240
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
241
|
+
{
|
|
242
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
243
|
+
points: ['(20 points)'],
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
247
|
+
points: ['(20 points)'],
|
|
248
|
+
}
|
|
249
|
+
]);
|
|
250
|
+
} else {
|
|
251
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
252
|
+
}
|
|
166
253
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
167
254
|
/*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
168
255
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -182,7 +269,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
182
269
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
183
270
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
184
271
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
185
|
-
|
|
272
|
+
if (alternativeAnswerCheck) {
|
|
273
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
274
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
275
|
+
{
|
|
276
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
277
|
+
points: ['(20 points)'],
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
281
|
+
points: ['(20 points)'],
|
|
282
|
+
}
|
|
283
|
+
]);
|
|
284
|
+
} else {
|
|
285
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
286
|
+
}
|
|
186
287
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
187
288
|
/*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
188
289
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { fillInTheGapsDragAndDropPage } from "../../../../pages";
|
|
2
2
|
import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
|
3
3
|
import utilities from "../../../../support/helpers/utilities";
|
|
4
|
+
import { showAlternativeAnswersComponent } from "../../../../pages/components";
|
|
5
|
+
|
|
6
|
+
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
|
|
4
7
|
const css = Cypress.env('css');
|
|
5
8
|
|
|
6
9
|
describe('Create item page - Fill in the gaps with drag and drop: All or nothing with alternative answers', () => {
|
|
@@ -30,8 +33,22 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
30
33
|
fillInTheGapsDragAndDropPage.steps.switchToGradingView();
|
|
31
34
|
fillInTheGapsDragAndDropPage.steps.verifyDropzoneNumeration();
|
|
32
35
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
if (alternativeAnswerCheck) {
|
|
37
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
38
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
39
|
+
{
|
|
40
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
41
|
+
points: ['(20 points)'],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
45
|
+
points: ['(10 points)'],
|
|
46
|
+
}
|
|
47
|
+
]);
|
|
48
|
+
} else {
|
|
49
|
+
utilities.verifyInnerText(fillInTheGapsDragAndDropPage.correctAnswersLabel(), 'Correct answers');
|
|
50
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
51
|
+
}
|
|
35
52
|
});
|
|
36
53
|
|
|
37
54
|
it('CSS of correct answer section and dropzone cell numeration', { tags: 'css' }, () => {
|
|
@@ -147,7 +164,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
147
164
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
148
165
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
149
166
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
150
|
-
|
|
167
|
+
if (alternativeAnswerCheck) {
|
|
168
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
169
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
170
|
+
{
|
|
171
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
172
|
+
points: ['(20 points)'],
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
176
|
+
points: ['(10 points)'],
|
|
177
|
+
}
|
|
178
|
+
]);
|
|
179
|
+
} else {
|
|
180
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
181
|
+
}
|
|
151
182
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
152
183
|
/*cy.log('When the user has attempted the question with partially correct options exclusively from the correct accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
153
184
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -167,7 +198,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
167
198
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
168
199
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(2);
|
|
169
200
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
170
|
-
|
|
201
|
+
if (alternativeAnswerCheck) {
|
|
202
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
203
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
204
|
+
{
|
|
205
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
206
|
+
points: ['(20 points)'],
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
210
|
+
points: ['(10 points)'],
|
|
211
|
+
}
|
|
212
|
+
]);
|
|
213
|
+
} else {
|
|
214
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
215
|
+
}
|
|
171
216
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
172
217
|
/*cy.log('When the user has attempted the question with partially correct options exclusively from the alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
173
218
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -187,7 +232,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
187
232
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
188
233
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
189
234
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
190
|
-
|
|
235
|
+
if (alternativeAnswerCheck) {
|
|
236
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
237
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
238
|
+
{
|
|
239
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
240
|
+
points: ['(20 points)'],
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
244
|
+
points: ['(10 points)'],
|
|
245
|
+
}
|
|
246
|
+
]);
|
|
247
|
+
} else {
|
|
248
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
249
|
+
}
|
|
191
250
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
192
251
|
/*cy.log('When the user has attempted the question with partially correct with all the response correct as per the alternative accordion but one response incomplete and clicks on \'Check answer\' button, then correct icon should be displayed besides the response from the correct accordion, incorrect icon should be displayed besides the responses from the alternative accordion and no icon should be displayed beside unattempted response, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
193
252
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -207,7 +266,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
207
266
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectOptionIcon(1);
|
|
208
267
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
209
268
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
210
|
-
|
|
269
|
+
if (alternativeAnswerCheck) {
|
|
270
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
271
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
272
|
+
{
|
|
273
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
274
|
+
points: ['(20 points)'],
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
278
|
+
points: ['(10 points)'],
|
|
279
|
+
}
|
|
280
|
+
]);
|
|
281
|
+
} else {
|
|
282
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
283
|
+
}
|
|
211
284
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
212
285
|
/*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, incorrect icon should be displayed beside empty responses a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
213
286
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -227,7 +300,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
227
300
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
228
301
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
229
302
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
230
|
-
|
|
303
|
+
if (alternativeAnswerCheck) {
|
|
304
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
305
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
306
|
+
{
|
|
307
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
308
|
+
points: ['(20 points)'],
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
312
|
+
points: ['(10 points)'],
|
|
313
|
+
}
|
|
314
|
+
]);
|
|
315
|
+
} else {
|
|
316
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
317
|
+
}
|
|
231
318
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
232
319
|
/*cy.log('When the user has attempted the question with equal number of correct responses from correct and alternative accordion and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
233
320
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|
|
@@ -247,7 +334,21 @@ describe('Create item page - Fill in the gaps with drag and drop: All or nothing
|
|
|
247
334
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
|
|
248
335
|
fillInTheGapsDragAndDropPage.steps.verifyIncorrectOptionIcon(2);
|
|
249
336
|
fillInTheGapsDragAndDropPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
250
|
-
|
|
337
|
+
if (alternativeAnswerCheck) {
|
|
338
|
+
showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
|
|
339
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerSectionWithAlternateAnswers([
|
|
340
|
+
{
|
|
341
|
+
correctAnswers: [['Petals'], ['Flower'], ['Leaves']],
|
|
342
|
+
points: ['(20 points)'],
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
correctAnswers: [['Petals'], ['Stem'], ['Seed']],
|
|
346
|
+
points: ['(10 points)'],
|
|
347
|
+
}
|
|
348
|
+
]);
|
|
349
|
+
} else {
|
|
350
|
+
fillInTheGapsDragAndDropPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Petals'], ['Flower'], ['Leaves']]);
|
|
351
|
+
}
|
|
251
352
|
fillInTheGapsDragAndDropPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
252
353
|
/*cy.log('When the user has attempted the question incorrectly and clicks on \'Check answer\' button, then incorrect icons should be displayed besides all incorrect responses, no icon should be displayed beside unattempted response a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
253
354
|
fillInTheGapsDragAndDropPage.steps.checkAnswer();
|