itemengine-cypress-automation 1.0.583-IEI-7048-71a8251.0 → 1.0.583
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/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +123 -8
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +123 -8
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +131 -14
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +138 -9
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +138 -9
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +153 -10
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +138 -9
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +108 -7
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +138 -9
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +272 -1
- 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 -203
- 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/fillInTheGapsDragAndDropCommonComponents.js +25 -1
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +38 -0
- package/cypress/pages/listOrderingPage.js +1 -60
- package/cypress/pages/matchingPage.js +1 -23
- package/package.json +1 -1
|
@@ -3,7 +3,6 @@ import abortEarlySetup from "../../../support/helpers/abortEarly";
|
|
|
3
3
|
import utilities from "../../../support/helpers/utilities";
|
|
4
4
|
const css = Cypress.env('css');
|
|
5
5
|
const grepTags = Cypress.env('grepTags');
|
|
6
|
-
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
|
|
7
6
|
let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
|
|
8
7
|
const views = utilities.getViews(correctAnswerViews);
|
|
9
8
|
var itemReferenceID = "";
|
|
@@ -116,11 +115,7 @@ describe('Create item page - Matching: All or nothing ', () => {
|
|
|
116
115
|
matchingPage.steps.verifyDropdownNumeration(2);
|
|
117
116
|
matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
|
|
118
117
|
matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
|
|
119
|
-
|
|
120
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
121
|
-
} else {
|
|
122
|
-
utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
|
|
123
|
-
}
|
|
118
|
+
utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
|
|
124
119
|
matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
|
|
125
120
|
});
|
|
126
121
|
|
|
@@ -207,213 +202,11 @@ describe('Create item page - Matching: All or nothing ', () => {
|
|
|
207
202
|
matchingPage.steps.verifyCorrectOptionIconDropdown(1);
|
|
208
203
|
matchingPage.steps.verifyCorrectOptionIconDropdown(2);
|
|
209
204
|
matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
210
|
-
if (alternativeAnswerCheck === 'true') {
|
|
211
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
212
|
-
}
|
|
213
205
|
matchingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
214
206
|
});
|
|
215
207
|
});
|
|
216
208
|
});
|
|
217
209
|
|
|
218
|
-
if (alternativeAnswerCheck === 'true') {
|
|
219
|
-
views.forEach((view) => {
|
|
220
|
-
describe(`${view}: Auto scored - All or nothing scoring with alternate answers`, { tags: 'smoke' }, () => {
|
|
221
|
-
abortEarlySetup();
|
|
222
|
-
before(() => {
|
|
223
|
-
switch (view) {
|
|
224
|
-
case 'Question preview':
|
|
225
|
-
matchingPage.steps.navigateToCreateQuestion('matching');
|
|
226
|
-
cy.barsPreLoaderWait();
|
|
227
|
-
matchingPage.steps.selectOptionLayoutToggleButton('Dropdown menu');
|
|
228
|
-
matchingPage.steps.addTextInQuestionInstructionsInputField('Fill the categories with the right answer.');
|
|
229
|
-
matchingPage.steps.allotPoints(20);
|
|
230
|
-
matchingPage.steps.addMultipleOptionFields(2);
|
|
231
|
-
matchingPage.steps.enterTextInPromptInputField(promptTextArray);
|
|
232
|
-
matchingPage.steps.enterTextInOptionInputFieldDropdown(optionsArray);
|
|
233
|
-
matchingPage.steps.selectResponseFromDropdownInSpecifyCorrectAnswerSection([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
|
|
234
|
-
matchingPage.steps.addAlternativeAnswerAccordion(1);
|
|
235
|
-
matchingPage.steps.allotPoints(10);
|
|
236
|
-
matchingPage.steps.selectResponseFromDropdownInSpecifyCorrectAnswerSection([{ dropdownIndex: 0, dropdownOption: optionsArray[3] }, { dropdownIndex: 1, dropdownOption: optionsArray[4] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
|
|
237
|
-
matchingPage.steps.switchToPreviewTab();
|
|
238
|
-
break;
|
|
239
|
-
case 'Item preview':
|
|
240
|
-
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
241
|
-
itemPreviewPage.steps.switchToPreviewTab();
|
|
242
|
-
break;
|
|
243
|
-
case 'Grading view':
|
|
244
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
245
|
-
break;
|
|
246
|
-
};
|
|
247
|
-
});
|
|
248
|
-
|
|
249
|
-
beforeEach(() => {
|
|
250
|
-
switch (view) {
|
|
251
|
-
case 'Question preview':
|
|
252
|
-
matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
253
|
-
matchingPage.steps.resetQuestionPreview();
|
|
254
|
-
break;
|
|
255
|
-
case 'Item preview':
|
|
256
|
-
matchingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
257
|
-
itemPreviewPage.steps.resetQuestionPreview();
|
|
258
|
-
break;
|
|
259
|
-
case 'Grading view':
|
|
260
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
261
|
-
break;
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
if (view === 'Question preview') {
|
|
266
|
-
after(() => {
|
|
267
|
-
matchingPage.steps.clickOnSaveQuestionButton();
|
|
268
|
-
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
269
|
-
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
270
|
-
});
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
it('When the user selects \'Grading\' view without attempting the question, dropdown numeration should be displayed, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers and respective option numeration', () => {
|
|
274
|
-
if (view === 'Grading view') {
|
|
275
|
-
studentViewPage.steps.submitResponse();
|
|
276
|
-
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
277
|
-
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
278
|
-
gradingViewPage.steps.verifyGradingViewScore(0, 20);
|
|
279
|
-
};
|
|
280
|
-
if (view === 'Question preview' || view === 'Item preview') {
|
|
281
|
-
matchingPage.steps.verifyPreviewScore(0, 20);
|
|
282
|
-
matchingPage.steps.switchToGradingView();
|
|
283
|
-
matchingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
|
|
284
|
-
};
|
|
285
|
-
matchingPage.steps.verifyDropdownNumeration(0);
|
|
286
|
-
matchingPage.steps.verifyDropdownNumeration(1);
|
|
287
|
-
matchingPage.steps.verifyDropdownNumeration(2);
|
|
288
|
-
matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
|
|
289
|
-
matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
|
|
290
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
291
|
-
matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
|
|
292
|
-
});
|
|
293
|
-
|
|
294
|
-
it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icons should be displayed besides all incorrect responses, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers along with numeration should be displayed', () => {
|
|
295
|
-
matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[4] }, { dropdownIndex: 1, dropdownOption: optionsArray[0] }, { dropdownIndex: 2, dropdownOption: optionsArray[2] }]);
|
|
296
|
-
if (view === 'Grading view') {
|
|
297
|
-
studentViewPage.steps.submitResponse();
|
|
298
|
-
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
299
|
-
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
300
|
-
gradingViewPage.steps.verifyGradingViewScore(0, 20);
|
|
301
|
-
};
|
|
302
|
-
if (view === 'Question preview' || view === 'Item preview') {
|
|
303
|
-
matchingPage.steps.verifyPreviewScore(0, 20);
|
|
304
|
-
matchingPage.steps.switchToGradingView();
|
|
305
|
-
};
|
|
306
|
-
matchingPage.steps.verifyIncorrectOptionIconDropdown(0);
|
|
307
|
-
matchingPage.steps.verifyIncorrectOptionIconDropdown(1);
|
|
308
|
-
matchingPage.steps.verifyIncorrectOptionIconDropdown(2);
|
|
309
|
-
matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
310
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
311
|
-
matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
|
|
312
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
313
|
-
matchingPage.steps.disableShowAlternativeAnswersToggle();
|
|
314
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
315
|
-
matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
316
|
-
matchingPage.steps.clickShowAlternativeAnswersToggle();
|
|
317
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
318
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(10 points)', 1);
|
|
319
|
-
matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Eagle'], ['Cat']], 1);
|
|
320
|
-
matchingPage.steps.clickShowAlternativeAnswersToggle();
|
|
321
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
322
|
-
});
|
|
323
|
-
|
|
324
|
-
it('When the user attempts the question partially correct with some correct, some incomplete and some incorrect options, 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 numeration should be displayed', () => {
|
|
325
|
-
if (view === 'Grading view') {
|
|
326
|
-
studentViewPage.steps.clearResponses();
|
|
327
|
-
};
|
|
328
|
-
matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 2, dropdownOption: optionsArray[3] }]);
|
|
329
|
-
if (view === 'Grading view') {
|
|
330
|
-
studentViewPage.steps.submitResponse();
|
|
331
|
-
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
332
|
-
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
333
|
-
gradingViewPage.steps.verifyGradingViewScore(0, 20);
|
|
334
|
-
};
|
|
335
|
-
if (view === 'Question preview' || view === 'Item preview') {
|
|
336
|
-
matchingPage.steps.verifyPreviewScore(0, 20);
|
|
337
|
-
matchingPage.steps.switchToGradingView();
|
|
338
|
-
};
|
|
339
|
-
matchingPage.steps.verifyCorrectOptionIconDropdown(0);
|
|
340
|
-
matchingPage.steps.verifyIncorrectOptionIconDropdown(1);
|
|
341
|
-
matchingPage.steps.verifyIncorrectOptionIconDropdown(2);
|
|
342
|
-
matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
343
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
344
|
-
matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
|
|
345
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
346
|
-
matchingPage.steps.disableShowAlternativeAnswersToggle();
|
|
347
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
348
|
-
matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
349
|
-
matchingPage.steps.clickShowAlternativeAnswersToggle();
|
|
350
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
351
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(10 points)', 1);
|
|
352
|
-
matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Eagle'], ['Cat']], 1);
|
|
353
|
-
matchingPage.steps.clickShowAlternativeAnswersToggle();
|
|
354
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
355
|
-
});
|
|
356
|
-
|
|
357
|
-
it('When the user attempts the question partially correct with all the dropdowns correctly attempted but one dropdown incomplete, 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 numeration should be displayed', () => {
|
|
358
|
-
if (view === 'Grading view') {
|
|
359
|
-
studentViewPage.steps.clearResponses();
|
|
360
|
-
};
|
|
361
|
-
matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
|
|
362
|
-
if (view === 'Grading view') {
|
|
363
|
-
studentViewPage.steps.submitResponse();
|
|
364
|
-
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
365
|
-
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
366
|
-
gradingViewPage.steps.verifyGradingViewScore(0, 20);
|
|
367
|
-
};
|
|
368
|
-
if (view === 'Question preview' || view === 'Item preview') {
|
|
369
|
-
matchingPage.steps.verifyPreviewScore(0, 20);
|
|
370
|
-
matchingPage.steps.switchToGradingView();
|
|
371
|
-
};
|
|
372
|
-
matchingPage.steps.verifyIncorrectOptionIconDropdown(0);
|
|
373
|
-
matchingPage.steps.verifyCorrectOptionIconDropdown(1);
|
|
374
|
-
matchingPage.steps.verifyCorrectOptionIconDropdown(2);
|
|
375
|
-
matchingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
376
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
377
|
-
matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
|
|
378
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
379
|
-
matchingPage.steps.disableShowAlternativeAnswersToggle();
|
|
380
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
381
|
-
matchingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
382
|
-
matchingPage.steps.clickShowAlternativeAnswersToggle();
|
|
383
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
384
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(10 points)', 1);
|
|
385
|
-
matchingPage.steps.verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount([['Bear'], ['Eagle'], ['Cat']], 1);
|
|
386
|
-
matchingPage.steps.clickShowAlternativeAnswersToggle();
|
|
387
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
388
|
-
});
|
|
389
|
-
|
|
390
|
-
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', () => {
|
|
391
|
-
if (view === 'Grading view') {
|
|
392
|
-
studentViewPage.steps.clearResponses();
|
|
393
|
-
};
|
|
394
|
-
matchingPage.steps.selectResponseFromDropdownInPreviewTab([{ dropdownIndex: 0, dropdownOption: optionsArray[1] }, { dropdownIndex: 1, dropdownOption: optionsArray[2] }, { dropdownIndex: 2, dropdownOption: optionsArray[0] }]);
|
|
395
|
-
if (view === 'Grading view') {
|
|
396
|
-
studentViewPage.steps.submitResponse();
|
|
397
|
-
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
398
|
-
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
399
|
-
gradingViewPage.steps.verifyGradingViewScore(20, 20);
|
|
400
|
-
};
|
|
401
|
-
if (view === 'Question preview' || view === 'Item preview') {
|
|
402
|
-
matchingPage.steps.verifyPreviewScore(20, 20);
|
|
403
|
-
matchingPage.steps.switchToGradingView();
|
|
404
|
-
matchingPage.steps.verifyPreviewTabPointsBackgroundForCorrectAnswer();
|
|
405
|
-
};
|
|
406
|
-
matchingPage.steps.verifyCorrectOptionIconDropdown(0);
|
|
407
|
-
matchingPage.steps.verifyCorrectOptionIconDropdown(1);
|
|
408
|
-
matchingPage.steps.verifyCorrectOptionIconDropdown(2);
|
|
409
|
-
matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
410
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
411
|
-
matchingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
412
|
-
});
|
|
413
|
-
});
|
|
414
|
-
});
|
|
415
|
-
};
|
|
416
|
-
|
|
417
210
|
views.forEach((view) => {
|
|
418
211
|
describe(`${view}: Matching dropdown - Manually scored`, { tags: 'smoke' }, () => {
|
|
419
212
|
abortEarlySetup();
|
|
@@ -559,11 +352,7 @@ describe('Create item page - Matching: All or nothing ', () => {
|
|
|
559
352
|
matchingPage.steps.verifyDropdownNumeration(2);
|
|
560
353
|
matchingPage.steps.verifyCorrectIncorrectIconsNotExist();
|
|
561
354
|
matchingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
|
|
562
|
-
|
|
563
|
-
matchingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '', 0);
|
|
564
|
-
} else {
|
|
565
|
-
utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
|
|
566
|
-
}
|
|
355
|
+
utilities.verifyInnerText(matchingPage.correctAnswersLabel(), 'Correct answers');
|
|
567
356
|
matchingPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Elephant'], ['Fish'], ['Cat']]);
|
|
568
357
|
});
|
|
569
358
|
|
|
@@ -621,9 +410,6 @@ describe('Create item page - Matching: All or nothing ', () => {
|
|
|
621
410
|
matchingPage.steps.verifyCorrectOptionIconDropdown(1);
|
|
622
411
|
matchingPage.steps.verifyCorrectOptionIconDropdown(2);
|
|
623
412
|
matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
624
|
-
if (alternativeAnswerCheck === 'true') {
|
|
625
|
-
matchingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
626
|
-
}
|
|
627
413
|
matchingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
628
414
|
});
|
|
629
415
|
});
|
|
@@ -6,8 +6,7 @@ const selectors = {
|
|
|
6
6
|
correctAnswerContainer: () => cy.get('[class*="correct-answer-wrapper"]'),
|
|
7
7
|
correctIncorrectAnswerBlock: () => cy.get('[class*="-answer-block"]'),
|
|
8
8
|
correctIncorrectStatusMessageText: () => cy.get('[class*="AnswerStatusText"]'),
|
|
9
|
-
correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]')
|
|
10
|
-
correctAnswerLabelWrapper: () => cy.get('[class*="CorrectAnswerLabelWrapper"]')
|
|
9
|
+
correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]')
|
|
11
10
|
}
|
|
12
11
|
|
|
13
12
|
const steps = {
|
|
@@ -35,22 +34,6 @@ const steps = {
|
|
|
35
34
|
verifyCorrectIncorrectStatusMessageExists: () => {
|
|
36
35
|
utilities.verifyElementVisibilityState(correctIncorrectAnswerLabelComponent.correctIncorrectAnswerBlock(), 'exist');
|
|
37
36
|
},
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* @param {string} expectedLabel - The expected label text (e.g., "Correct answer", "Alternative answer 1", "Alternative answer 2").
|
|
41
|
-
* @param {string} expectedPoints - The expected points text (e.g., "(20 points)", "(10 points)").
|
|
42
|
-
* @param {number} [sectionIndex=0] - The index of the answer section (0 for first section, 1 for second section, etc.).
|
|
43
|
-
* @description Verifies the answer label and its associated point value in a specific section.
|
|
44
|
-
* This can be used for correct answer or alternative answer sections.
|
|
45
|
-
*/
|
|
46
|
-
verifyAnswerLabelAndPoints: (expectedLabel, expectedPoints, sectionIndex = 0) => {
|
|
47
|
-
correctIncorrectAnswerLabelComponent.correctAnswerLabelWrapper()
|
|
48
|
-
.eq(sectionIndex)
|
|
49
|
-
.within(() => {
|
|
50
|
-
cy.contains(expectedLabel).should('be.visible');
|
|
51
|
-
cy.get('p').should('contain.text', expectedPoints);
|
|
52
|
-
});
|
|
53
|
-
},
|
|
54
37
|
}
|
|
55
38
|
|
|
56
39
|
export const correctIncorrectAnswerLabelComponent = {
|
|
@@ -11,13 +11,14 @@ const selectors = {
|
|
|
11
11
|
specifyPointsForEachIncorrectDropzoneRadioButton: () => cy.get('input[aria-label*="Specify points for each incorrect"]'),
|
|
12
12
|
|
|
13
13
|
correctAnswersNumeration: () => cy.get('[class*="__AnswerCell"] .answer-numeration-number-box'),
|
|
14
|
-
correctAnswersOptions: () => cy.get('[class*="
|
|
14
|
+
correctAnswersOptions: () => cy.get('[class*="ClozeWithDragAndDropstyles__AnswerWrapper"]'),
|
|
15
15
|
correctAnswersLabel: () => cy.get('.correct-answers-label'),
|
|
16
16
|
tickIconWrapper: () => cy.get('.tick-icon-wrapper'),
|
|
17
17
|
correctAnswerContainer: () => cy.get('.dnd-correct-answer-wrapper'),
|
|
18
18
|
correctIncorrectAnswerLabel: () => cy.get('[class*="CorrectIncorrectLabel"]'),
|
|
19
19
|
correctAnswerResponseWrapperWithoutEnumeration: () => cy.get('[class*="CorrectAnswers"] [class*="AnswerStatusIconAndResponseWrapper"]'),
|
|
20
20
|
answerStatusBanner: () => cy.get('[class*="AnswerStatusWrapper"]'),
|
|
21
|
+
correctAnswerPointsLabel: () => cy.get('[class*="CorrectAnswerSectionstyle__CorrectAnswerLabelWrapper"] p'),
|
|
21
22
|
|
|
22
23
|
//additional settings
|
|
23
24
|
enterAriaLabelInputField: () => cy.get('input[aria-label*="Enter ARIA label"]'),
|
|
@@ -39,6 +40,29 @@ const steps = {
|
|
|
39
40
|
});
|
|
40
41
|
},
|
|
41
42
|
|
|
43
|
+
verifyCorrectAnswerSectionWithAlternateAnswers: (correctAnswersArray) => {
|
|
44
|
+
let answerIndex = 0;
|
|
45
|
+
let pointsLabelIndex = 0;
|
|
46
|
+
correctAnswersArray.forEach(({
|
|
47
|
+
correctAnswers, points
|
|
48
|
+
}) => {
|
|
49
|
+
correctAnswers.forEach((correctAnswer, index) => {
|
|
50
|
+
utilities.verifyTextContent(utilities.getNthElement(fillInTheGapsDragAndDropCommonComponents.correctAnswersNumeration(), answerIndex), index + 1);
|
|
51
|
+
correctAnswer.forEach((answerOption) => {
|
|
52
|
+
utilities.verifyTextContent(utilities.getNthElement(fillInTheGapsDragAndDropCommonComponents.correctAnswersOptions(), answerIndex), answerOption);
|
|
53
|
+
});
|
|
54
|
+
answerIndex += 1;
|
|
55
|
+
});
|
|
56
|
+
points.forEach((pointsText) => {
|
|
57
|
+
fillInTheGapsDragAndDropCommonComponents.correctAnswerPointsLabel()
|
|
58
|
+
.eq(pointsLabelIndex)
|
|
59
|
+
.should('have.text', pointsText);
|
|
60
|
+
pointsLabelIndex += 1;
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
|
|
42
66
|
verifyCorrectAnswerSectionNotExists: () => {
|
|
43
67
|
utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropCommonComponents.correctAnswerContainer(), 'notExist');
|
|
44
68
|
},
|
|
@@ -39,6 +39,7 @@ const selectors = {
|
|
|
39
39
|
dropzoneCellPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="CellDropZonestyles__CellContainer"][class*="dropzone-cell"],[class*="question-preview-wrapper"] [class*="DropzoneCellstyles__StyledCell"]'),
|
|
40
40
|
dropzoneCellNumeration: () => cy.get('.answer-numeration-number-box'),
|
|
41
41
|
correctAnswerDropzoneCell: () => cy.get('[class*="Matrixstyles__AnswerCell"]'),
|
|
42
|
+
correctAnswerPointsLabel: () => cy.get('[class*="CorrectAnswerSectionstyle__CorrectAnswerLabelWrapper"] p'),
|
|
42
43
|
correctAnswerDropzoneCellTickIcon: () => cy.get('[class*="Matrixstyles__GreenBlock"]'),
|
|
43
44
|
correctAnswersLabel: () => cy.get('.correct-answers-label'),
|
|
44
45
|
correctAnswerOption: () => cy.get('[class*="Matrixstyles__AnswerWrapper"]'),
|
|
@@ -514,6 +515,43 @@ const steps = {
|
|
|
514
515
|
});
|
|
515
516
|
},
|
|
516
517
|
|
|
518
|
+
/**
|
|
519
|
+
* Verifies the content of each correct-answer dropzone in the Alternate Answer section.
|
|
520
|
+
*
|
|
521
|
+
* For every entry in `correctAnswersArray`, this function:
|
|
522
|
+
* - Iterates through each set of correct answers assigned to a dropzone.
|
|
523
|
+
* - Confirms that the dropzone displays the expected cell numeration.
|
|
524
|
+
* - Verifies each answer option inside the dropzone.
|
|
525
|
+
* - Validates that the points label for the group matches the expected value.
|
|
526
|
+
*
|
|
527
|
+
* @param {Object[]} correctAnswersArray - An array where each object represents
|
|
528
|
+
* a group of correct answers and its metadata.
|
|
529
|
+
* @param {string[][]} correctAnswersArray[].correctAnswers - A list of answer-option groups for each dropzone.
|
|
530
|
+
* @param {number[]} correctAnswersArray[].cellIndexArray - Expected numeration values for corresponding dropzones.
|
|
531
|
+
* @param {string} correctAnswersArray[].pointsText - Expected points label for this group of dropzones.
|
|
532
|
+
*/
|
|
533
|
+
verifyCorrectAnswerResponsesInAlternateAnswerSection: (correctAnswersArray) => {
|
|
534
|
+
let dropzoneCellIndex = 0;
|
|
535
|
+
correctAnswersArray.forEach(({
|
|
536
|
+
correctAnswers,
|
|
537
|
+
pointsText,
|
|
538
|
+
}, index) => {
|
|
539
|
+
correctAnswers.forEach((correctAnswer) => {
|
|
540
|
+
dragAndDropIntoCategoriesPage.correctAnswerDropzoneCell()
|
|
541
|
+
.eq(dropzoneCellIndex)
|
|
542
|
+
.within(() => {
|
|
543
|
+
correctAnswer.forEach((answerOption, optionIndex) => {
|
|
544
|
+
utilities.verifyTextContent(utilities.getNthElement(dragAndDropIntoCategoriesPage.correctAnswerOption(), optionIndex), answerOption);
|
|
545
|
+
});
|
|
546
|
+
});
|
|
547
|
+
dropzoneCellIndex += 1;
|
|
548
|
+
});
|
|
549
|
+
dragAndDropIntoCategoriesPage.correctAnswerPointsLabel()
|
|
550
|
+
.eq(index)
|
|
551
|
+
.should('have.text', pointsText);
|
|
552
|
+
});
|
|
553
|
+
},
|
|
554
|
+
|
|
517
555
|
/**
|
|
518
556
|
* Verifies the presence of an incorrect option icon for a specified option in the Preview Tab.
|
|
519
557
|
* @param {number} optionIndex - The index of the option to verify.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import constants from "../fixtures/constants";
|
|
2
2
|
import utilities from "../support/helpers/utilities";
|
|
3
|
-
import { autoScoredScoringPreviewTab, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, autoScoredStudentViewSettings, commonComponents, correctIncorrectAnswerLabelComponent, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, randomizeOptionsComponent, scoringSectionBaseEditTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, enableOuterBorderComponent, styleAndLayoutCustomizationAccordionComponent
|
|
3
|
+
import { autoScoredScoringPreviewTab, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, autoScoredStudentViewSettings, commonComponents, correctIncorrectAnswerLabelComponent, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, randomizeOptionsComponent, scoringSectionBaseEditTab, studentViewSettingsLabelComponent, additionalSettingsPanel, additionalSettingsAccessibilitySectionComponent, enableOuterBorderComponent, styleAndLayoutCustomizationAccordionComponent } from "./components"
|
|
4
4
|
import { listOrderingCommonStyleAndLayoutComponent } from "./components/listOrderingCommonStyleAndLayoutComponent";
|
|
5
5
|
import { createItemPage } from "./createItemPage";
|
|
6
6
|
import { dialogBoxBase } from "./dialogBoxBase";
|
|
@@ -20,7 +20,6 @@ const selectors = {
|
|
|
20
20
|
...enableOuterBorderComponent,
|
|
21
21
|
...styleAndLayoutCustomizationAccordionComponent,
|
|
22
22
|
...listOrderingCommonStyleAndLayoutComponent,
|
|
23
|
-
...showAlternativeAnswersComponent,
|
|
24
23
|
//Specify correct answer section
|
|
25
24
|
optionSpecifyCorrectAnswerSection: () => cy.get('.list-ordering-set-correct-answer [class*="AnswerWrapper"][role="button"]'),
|
|
26
25
|
optionTextSpecifyCorrectAnswerSection: () => cy.get('.draggable-item-wrapper[overflow] .question-text-wrapper'),
|
|
@@ -35,9 +34,7 @@ const selectors = {
|
|
|
35
34
|
optionWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .orderlist-option-wrapper, .vertical-list-order .reorder-as-same-list-items [class*="DraggableItemstyles__DraggableItemContainer"]'),
|
|
36
35
|
correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="__CorrectAnswerLabel"]'),
|
|
37
36
|
correctAnswerSectionAnswerWrapper: () => cy.get('[class*="CorrectAnswers"] [class*="__OptionsWrapper"]'),
|
|
38
|
-
correctAnswersSectionWrapper: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"]'),
|
|
39
37
|
correctAnswerSectionWrapper: () => cy.get('[class*="ListOrderingResponsestyles__CorrectAnswers"]'),
|
|
40
|
-
dropdownMenuWrapper: () => cy.get('.dropdown-menu-wrapper'),
|
|
41
38
|
correctAnswerSectionAnswerText: () => cy.get('.question-text-wrapper'),
|
|
42
39
|
correctAnswerSectionIconWrapper: () => cy.get('[class*="CorrectAnswerstyles__IconWrapper"], .correct-answer-wrapper [class*="DraggableItemstyles__DraggableItemContainer"]'),
|
|
43
40
|
questionBorderPreviewTab: () => cy.get('[class*="ListOrderingResponsestyles__ResponseContainer"]'),
|
|
@@ -158,7 +155,6 @@ const steps = {
|
|
|
158
155
|
...listOrderingCommonStyleAndLayoutComponent.steps,
|
|
159
156
|
...createItemPage.steps,
|
|
160
157
|
...dialogBoxBase.steps,
|
|
161
|
-
...showAlternativeAnswersComponent.steps,
|
|
162
158
|
|
|
163
159
|
/**
|
|
164
160
|
* Verifies the border value of specify correct answer section options
|
|
@@ -963,61 +959,6 @@ const steps = {
|
|
|
963
959
|
});
|
|
964
960
|
},
|
|
965
961
|
|
|
966
|
-
/**
|
|
967
|
-
* @param {string[]} optionsTextArray array of options in the alternative answer section
|
|
968
|
-
* @param {string[]} positionArray array of positions for the alternative answer section
|
|
969
|
-
* @param {number} sectionIndex index of the alternative answer section (1 for first alternative, 2 for second, etc.)
|
|
970
|
-
* @description this function verifies the correct order of options and their positions in alternative answer section
|
|
971
|
-
*/
|
|
972
|
-
verifyOptionsPositionInAlternativeAnswerSection: (sectionIndex, optionsTextArray, positionArray) => {
|
|
973
|
-
listOrderingPage.correctAnswersSectionWrapper()
|
|
974
|
-
.eq(sectionIndex)
|
|
975
|
-
.within(() => {
|
|
976
|
-
// Verify option text content
|
|
977
|
-
optionsTextArray.forEach((optionsText, index) => {
|
|
978
|
-
utilities.getNthElement(listOrderingPage.dropdownMenuWrapper(), index)
|
|
979
|
-
.within(() => {
|
|
980
|
-
utilities.verifyTextContent(cy.get('[data-testid="question-instruction-element"]'), optionsText);
|
|
981
|
-
});
|
|
982
|
-
});
|
|
983
|
-
|
|
984
|
-
// Verify dropdown position values
|
|
985
|
-
positionArray.forEach((position, dropdownIndex) => {
|
|
986
|
-
utilities.getNthElement(listOrderingPage.dropdownMenuWrapper(), dropdownIndex)
|
|
987
|
-
.within(() => {
|
|
988
|
-
utilities.verifyInnerText(listOrderingPage.dropdownSelectedOptionLabel(), position);
|
|
989
|
-
});
|
|
990
|
-
});
|
|
991
|
-
});
|
|
992
|
-
},
|
|
993
|
-
|
|
994
|
-
/**
|
|
995
|
-
* @param {number} sectionIndex index of the answer section (0 for correct answer, 1 for first alternative, etc.)
|
|
996
|
-
* @param {string[]} optionsTextArray array of options text in the answer section
|
|
997
|
-
* @description this function verifies the correct order of options in correct answer or alternative answer section for "Reorder as separate list" layout
|
|
998
|
-
*/
|
|
999
|
-
verifyOptionsInCorrectAndAlternativeAnswerSection: (sectionIndex, optionsTextArray) => {
|
|
1000
|
-
listOrderingPage.correctAnswersWrapper()
|
|
1001
|
-
.eq(sectionIndex)
|
|
1002
|
-
.within(() => {
|
|
1003
|
-
// Verify each option has correct icon and text content
|
|
1004
|
-
optionsTextArray.forEach((optionsText, index) => {
|
|
1005
|
-
// Verify correct icon exists
|
|
1006
|
-
utilities.getNthElement(listOrderingPage.correctAnswerSectionIconWrapper(), index)
|
|
1007
|
-
.within(() => {
|
|
1008
|
-
utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
|
|
1009
|
-
});
|
|
1010
|
-
|
|
1011
|
-
// Verify option text content
|
|
1012
|
-
utilities.getNthElement(listOrderingPage.correctAnswerSectionAnswerWrapper(), index)
|
|
1013
|
-
.within(() => {
|
|
1014
|
-
utilities.verifyTextContent(listOrderingPage.correctAnswerSectionAnswerText(), optionsText);
|
|
1015
|
-
});
|
|
1016
|
-
});
|
|
1017
|
-
});
|
|
1018
|
-
},
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
962
|
/**
|
|
1022
963
|
* Verifies the selected option position in the dropdown for the specified dropdown index.
|
|
1023
964
|
* @param {number} dropdownIndex - The index of the dropdown to verify.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import constants from "../fixtures/constants";
|
|
2
2
|
import utilities from "../support/helpers/utilities";
|
|
3
|
-
import { createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, draggableOptionContainer, draggableOptionsSectionComponent, correctIncorrectAnswerLabelComponent, maximumCapacityPerDropzoneComponent, optionsWrapperComponent, ckEditorToolbar, equationEditorFlyout, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, randomizeOptionsComponent, autoScoredScoringSectionMultiResponseType, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, ariaLabelSectionComponent, additionalSettingsAccessibilitySectionComponent, gradingViewEnumerationComponent, additionalSettingsPanel, toolSettingsComponent, styleAndLayoutCustomizationAccordionComponent, connectorStyleStyleAndLayoutCustomizationComponent
|
|
3
|
+
import { createQuestionBasePage, questionInstructionsComponent, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, draggableOptionContainer, draggableOptionsSectionComponent, correctIncorrectAnswerLabelComponent, maximumCapacityPerDropzoneComponent, optionsWrapperComponent, ckEditorToolbar, equationEditorFlyout, autoScoredStudentViewSettings, autoScoredSpecifyCorrectAnswerSection, commonComponents, randomizeOptionsComponent, autoScoredScoringSectionMultiResponseType, allowMultipleInstancesOfSameDraggableOptionComponent, studentViewSettingsLabelComponent, ariaLabelSectionComponent, additionalSettingsAccessibilitySectionComponent, gradingViewEnumerationComponent, additionalSettingsPanel, toolSettingsComponent, styleAndLayoutCustomizationAccordionComponent, connectorStyleStyleAndLayoutCustomizationComponent } from "./components";
|
|
4
4
|
import { createItemPage } from "./createItemPage";
|
|
5
5
|
const css = Cypress.env('css');
|
|
6
6
|
const options = ['option 1', 'option 2', 'option 3'];
|
|
@@ -26,7 +26,6 @@ const selectors = {
|
|
|
26
26
|
...additionalSettingsPanel,
|
|
27
27
|
...connectorStyleStyleAndLayoutCustomizationComponent,
|
|
28
28
|
...ckEditorToolbar,
|
|
29
|
-
...showAlternativeAnswersComponent,
|
|
30
29
|
//Edit tab
|
|
31
30
|
promptInputField: () => cy.get('.edit-mcq-stems-wrapper [role="textbox"]'),
|
|
32
31
|
promptInputFieldWrapper: () => cy.get('.edit-mcq-stems-wrapper .edit-mcq-option-wrapper'),
|
|
@@ -109,7 +108,6 @@ const selectors = {
|
|
|
109
108
|
correctAnswersNumeration: () => cy.get('.answer-numeration-number-box'),
|
|
110
109
|
correctAnswerResponseWrapper: () => cy.get('[class*="ClozeWithDragAndDropstyles__AnswerCell"]'),
|
|
111
110
|
correctAnswersOptions: () => cy.get('.match-list-drag-and-drop'),
|
|
112
|
-
correctAnswersWrapper: () => cy.get('[class*="ClozeWithDragAndDropstyles__CorrectAnswers"]'),
|
|
113
111
|
correctAnswersOptionContainer: () => cy.get('.draggable-selected-option, .draggable-item'),
|
|
114
112
|
gradingViewOption: () => cy.get('.item-content-wrapper'),
|
|
115
113
|
questionBorderPreviewTab: () => cy.get('[class*="ClozeWithDragAndDropstyles__WrapperDiv"]'),
|
|
@@ -230,7 +228,6 @@ const steps = {
|
|
|
230
228
|
...styleAndLayoutCustomizationAccordionComponent.steps,
|
|
231
229
|
...connectorStyleStyleAndLayoutCustomizationComponent.steps,
|
|
232
230
|
...createItemPage.steps,
|
|
233
|
-
...showAlternativeAnswersComponent.steps,
|
|
234
231
|
//Edit tab
|
|
235
232
|
addPrompt: () => {
|
|
236
233
|
matchingPage.addPromptButton()
|
|
@@ -961,25 +958,6 @@ const steps = {
|
|
|
961
958
|
});
|
|
962
959
|
},
|
|
963
960
|
|
|
964
|
-
/**
|
|
965
|
-
* @param {Array<{label: string, points: string, answers: string[][]}>} alternativeAnswers - Array of alternative answer objects.
|
|
966
|
-
* @description Verifies alternative answer sections with labels, points, enumeration, and answers.
|
|
967
|
-
* Example: verifyAlternativeAnswerSections([{label: 'Alternative answer 1', points: '(10 points)', answers: [['Elephant'], ['Fish'], ['Cat']]}])
|
|
968
|
-
*/
|
|
969
|
-
verifyAlternativeAnswerResponsesInCorrectAnswerSectionAndCount: (alternativeAnswers = []) => {
|
|
970
|
-
matchingPage.correctAnswersWrapper()
|
|
971
|
-
.eq(1)
|
|
972
|
-
.within(() => {
|
|
973
|
-
utilities.verifyElementCount(matchingPage.correctAnswersOptions(), alternativeAnswers.length);
|
|
974
|
-
alternativeAnswers.forEach((correctAnswer, index) => {
|
|
975
|
-
utilities.verifyTextContent(utilities.getNthElement(matchingPage.correctAnswersNumeration(), index), index + 1);
|
|
976
|
-
correctAnswer.forEach((answerOption) => {
|
|
977
|
-
utilities.verifyTextContent(utilities.getNthElement(matchingPage.correctAnswersOptions(), index), answerOption);
|
|
978
|
-
});
|
|
979
|
-
});
|
|
980
|
-
});
|
|
981
|
-
},
|
|
982
|
-
|
|
983
961
|
/**
|
|
984
962
|
* Verifies correct answer responses in the correct answer section and counts the number of correct answer groups.
|
|
985
963
|
* @param {string[][]} correctAnswerArray - An array of arrays containing correct answer responses for each group.
|