itemengine-cypress-automation 1.0.583-IEI-7046-3e4646d.0 → 1.0.583-IEI-7048-71a8251.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/DragAndDropIntoCategoriesNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +8 -123
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +8 -123
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +14 -131
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionAlternativePointsGreaterThanCorrectPoints.js +9 -138
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +9 -138
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsGreaterThanAlternativePoints.js +10 -153
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneAlternativePointsGreaterThanCorrectPoints.js +9 -138
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +7 -108
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +9 -138
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +1 -272
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +77 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +78 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +78 -1
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +104 -9
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsBasic.js +4 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +95 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +95 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +84 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsBasic.js +4 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +73 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +84 -0
- package/cypress/e2e/ILC/ListOrderingDropdown/allOrNothingForAllViews.smoke.js +187 -2
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +79 -1
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +79 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +79 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/manuallyAndNonScored.js +4 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +103 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsBasic.js +4 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsBasic.js +4 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
- package/cypress/e2e/ILC/ListOrderingNew/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
- package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +209 -5
- package/cypress/e2e/ILC/ListOrderingNew/horizontalOrientationAllOrNothingForAllViews.smoke.js +195 -1
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingAlternativePointsGreaterThanCorrectPoints.js +85 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +82 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/allOrNothingCorrectPointsGreaterThanAlternativePoints.js +85 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsAlternativePointsGreaterThanCorrectPoints.js +109 -6
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsBasic.js +4 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsEqualToAlternativePoints.js +103 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialDifferentWeightsCorrectPointsGreaterThanAlternativePoints.js +103 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +91 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsBasic.js +4 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsEqualToAlternativePoints.js +79 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +91 -0
- package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +203 -3
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingGroupedScoring.js +9 -1
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
- package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +107 -2
- package/cypress/e2e/ILC/Matching/Scoring/blankResponseScoring.js +36 -2
- package/cypress/e2e/ILC/Matching/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +5 -0
- package/cypress/e2e/ILC/Matching/Scoring/manuallyAndNonScored.js +1 -0
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternativePoints.js +115 -2
- package/cypress/e2e/ILC/Matching/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternativePoints.js +128 -2
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsBasic.js +9 -1
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
- package/cypress/e2e/ILC/Matching/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
- package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +226 -2
- package/cypress/e2e/ILC/Matching/maximumCapacityPerDropzoneSection.js +9 -1
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithAlternativePointsGreaterThanCorrectPoints.js +102 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +102 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/allOrNothingWithCorrectPointsGreaterThanAlternativePoints.js +102 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/blankResponseScoring.js +32 -5
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/manuallyAndNonScored.js +3 -0
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsScoringBasic.js +10 -1
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithAlternativePointsGreaterThanCorrectPoints.js +128 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsEqualToAlternatePoints.js +115 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialDifferentWeightsWithCorrectPointsGreaterThanAlternatePoints.js +128 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsBasic.js +9 -1
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithAlternativePointsGreaterThanCorrectPoints.js +115 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsEqualToAlternativePoints.js +102 -2
- package/cypress/e2e/ILC/MatchingDropdown/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +115 -2
- package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +216 -2
- package/cypress/pages/components/correctIncorrectAnswerLabelComponent.js +18 -1
- package/cypress/pages/dragAndDropIntoCategoriesPage.js +0 -38
- package/cypress/pages/listOrderingPage.js +60 -1
- package/cypress/pages/matchingPage.js +23 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ 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');
|
|
6
7
|
let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
|
|
7
8
|
const views = utilities.getViews(correctAnswerViews);
|
|
8
9
|
var itemReferenceID = "";
|
|
@@ -106,7 +107,11 @@ describe('Create item page - List ordering: All or nothing ', () => {
|
|
|
106
107
|
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(2);
|
|
107
108
|
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(3);
|
|
108
109
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
|
|
109
|
-
|
|
110
|
+
if (alternativeAnswerCheck === 'true') {
|
|
111
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
112
|
+
} else {
|
|
113
|
+
utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answers');
|
|
114
|
+
}
|
|
110
115
|
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['2', '3', '4', '1']);
|
|
111
116
|
};
|
|
112
117
|
});
|
|
@@ -176,10 +181,184 @@ describe('Create item page - List ordering: All or nothing ', () => {
|
|
|
176
181
|
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
|
|
177
182
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
178
183
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
184
|
+
if (alternativeAnswerCheck === 'true') {
|
|
185
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
186
|
+
}
|
|
179
187
|
});
|
|
180
188
|
});
|
|
181
189
|
});
|
|
182
190
|
|
|
191
|
+
// alternative answer
|
|
192
|
+
if (alternativeAnswerCheck === 'true') {
|
|
193
|
+
views.forEach((view) => {
|
|
194
|
+
describe(`${view}: Auto scored - All or nothing scoring with alternative answer`, { tags: 'smoke' }, () => {
|
|
195
|
+
abortEarlySetup();
|
|
196
|
+
before(() => {
|
|
197
|
+
switch (view) {
|
|
198
|
+
case 'Question preview':
|
|
199
|
+
listOrderingPage.steps.navigateToCreateQuestion('list ordering');
|
|
200
|
+
cy.barsPreLoaderWait();
|
|
201
|
+
listOrderingPage.steps.selectOrderingLayoutOption('Dropdown menu');
|
|
202
|
+
listOrderingPage.steps.addInputToOptionsInputField(options);
|
|
203
|
+
listOrderingPage.steps.addTextInQuestionInstructionsInputField('Arrange options in correct order.');
|
|
204
|
+
listOrderingPage.steps.allotPoints(20);
|
|
205
|
+
listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }])
|
|
206
|
+
listOrderingPage.steps.addAlternativeAnswerAccordion(1);
|
|
207
|
+
listOrderingPage.steps.selectPositionForAllOptionsSpecifyCorrectAnswerSection([{ optionIndex: 0, position: '3' }, { optionIndex: 1, position: '4' }, { optionIndex: 2, position: '2' }, { optionIndex: 3, position: '1' }]);
|
|
208
|
+
listOrderingPage.steps.allotPoints(12);
|
|
209
|
+
listOrderingPage.steps.switchToPreviewTab();
|
|
210
|
+
break;
|
|
211
|
+
case 'Item preview':
|
|
212
|
+
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
213
|
+
itemPreviewPage.steps.switchToPreviewTab();
|
|
214
|
+
break;
|
|
215
|
+
case 'Grading view':
|
|
216
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
217
|
+
break;
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
beforeEach(() => {
|
|
222
|
+
switch (view) {
|
|
223
|
+
case 'Question preview':
|
|
224
|
+
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
225
|
+
listOrderingPage.steps.resetQuestionPreview();
|
|
226
|
+
break;
|
|
227
|
+
case 'Item preview':
|
|
228
|
+
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
229
|
+
itemPreviewPage.steps.resetQuestionPreview();
|
|
230
|
+
break;
|
|
231
|
+
case 'Grading view':
|
|
232
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
if (view === 'Question preview') {
|
|
238
|
+
after(() => {
|
|
239
|
+
listOrderingPage.steps.clickOnSaveQuestionButton();
|
|
240
|
+
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
241
|
+
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
it('When the user selects \'Grading\' view without attempting the question, then correct/incorrect icons should not 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', () => {
|
|
246
|
+
if (view === 'Grading view') {
|
|
247
|
+
utilities.verifyElementDisabledClass(studentViewPage.submitButton());
|
|
248
|
+
};
|
|
249
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
|
250
|
+
listOrderingPage.steps.verifyPreviewScore(0, 20);
|
|
251
|
+
listOrderingPage.steps.switchToGradingView();
|
|
252
|
+
listOrderingPage.steps.verifyPreviewTabPointsBackgroundForIncorrectOrPartiallyCorrectAnswer();
|
|
253
|
+
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(0);
|
|
254
|
+
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(1);
|
|
255
|
+
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(2);
|
|
256
|
+
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(3);
|
|
257
|
+
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
|
|
258
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
259
|
+
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['2', '3', '4', '1']);
|
|
260
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
261
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
262
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
263
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
264
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
265
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
266
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(12 points)', 1);
|
|
267
|
+
listOrderingPage.steps.verifyOptionsPositionInAlternativeAnswerSection(1, options, ['3', '4', '2', '1']);
|
|
268
|
+
};
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
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', () => {
|
|
272
|
+
listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '1' }, { optionIndex: 1, position: '2' }, { optionIndex: 2, position: '3' }, { optionIndex: 3, position: '4' }]);
|
|
273
|
+
if (view === 'Grading view') {
|
|
274
|
+
studentViewPage.steps.submitResponse();
|
|
275
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
276
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
277
|
+
gradingViewPage.steps.verifyGradingViewScore(0, 20);
|
|
278
|
+
};
|
|
279
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
|
280
|
+
listOrderingPage.steps.verifyPreviewScore(0, 20);
|
|
281
|
+
listOrderingPage.steps.switchToGradingView();
|
|
282
|
+
};
|
|
283
|
+
listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(0);
|
|
284
|
+
listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
|
|
285
|
+
listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(2);
|
|
286
|
+
listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
|
|
287
|
+
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
288
|
+
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['2', '3', '4', '1']);
|
|
289
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
290
|
+
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['2', '3', '4', '1']);
|
|
291
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
292
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
293
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
294
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
295
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
296
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
297
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(12 points)', 1);
|
|
298
|
+
listOrderingPage.steps.verifyOptionsPositionInAlternativeAnswerSection(1, options, ['3', '4', '2', '1']);
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
it('When the user attempts the question partially correct, 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', () => {
|
|
302
|
+
if (view === 'Grading view') {
|
|
303
|
+
studentViewPage.steps.clearResponses();
|
|
304
|
+
};
|
|
305
|
+
listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '1' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '3' }]);
|
|
306
|
+
if (view === 'Grading view') {
|
|
307
|
+
studentViewPage.steps.submitResponse();
|
|
308
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
309
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
310
|
+
gradingViewPage.steps.verifyGradingViewScore(0, 20);
|
|
311
|
+
};
|
|
312
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
|
313
|
+
listOrderingPage.steps.verifyPreviewScore(0, 20);
|
|
314
|
+
listOrderingPage.steps.switchToGradingView();
|
|
315
|
+
};
|
|
316
|
+
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
|
|
317
|
+
listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(1);
|
|
318
|
+
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
|
|
319
|
+
listOrderingPage.steps.verifyIncorrectOptionIconDropdownLayout(3);
|
|
320
|
+
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
321
|
+
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['2', '3', '4', '1']);
|
|
322
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
323
|
+
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(options, ['2', '3', '4', '1']);
|
|
324
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
325
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
326
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
327
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
328
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
329
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
330
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(12 points)', 1);
|
|
331
|
+
listOrderingPage.steps.verifyOptionsPositionInAlternativeAnswerSection(1, options, ['3', '4', '2', '1']);
|
|
332
|
+
});
|
|
333
|
+
|
|
334
|
+
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', () => {
|
|
335
|
+
if (view === 'Grading view') {
|
|
336
|
+
studentViewPage.steps.clearResponses();
|
|
337
|
+
};
|
|
338
|
+
listOrderingPage.steps.selectPositionForAllOptionsPreviewTab([{ optionIndex: 0, position: '2' }, { optionIndex: 1, position: '3' }, { optionIndex: 2, position: '4' }, { optionIndex: 3, position: '1' }]);
|
|
339
|
+
if (view === 'Grading view') {
|
|
340
|
+
studentViewPage.steps.submitResponse();
|
|
341
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
|
342
|
+
studentViewPage.steps.clickOnGoToGradingViewButton();
|
|
343
|
+
gradingViewPage.steps.verifyGradingViewScore(20, 20);
|
|
344
|
+
};
|
|
345
|
+
if (view === 'Question preview' || view === 'Item preview') {
|
|
346
|
+
listOrderingPage.steps.verifyPreviewScore(20, 20);
|
|
347
|
+
listOrderingPage.steps.switchToGradingView();
|
|
348
|
+
listOrderingPage.steps.verifyPreviewTabPointsBackgroundForCorrectAnswer();
|
|
349
|
+
};
|
|
350
|
+
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(0);
|
|
351
|
+
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(1);
|
|
352
|
+
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(2);
|
|
353
|
+
listOrderingPage.steps.verifyCorrectOptionIconDropdownLayout(3);
|
|
354
|
+
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
355
|
+
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
356
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
357
|
+
});
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
};
|
|
361
|
+
|
|
183
362
|
views.forEach((view) => {
|
|
184
363
|
describe(`${view}: List ordering (Dropdown) - Manually scored`, { tags: 'smoke' }, () => {
|
|
185
364
|
abortEarlySetup();
|
|
@@ -253,6 +432,9 @@ describe('Create item page - List ordering: All or nothing ', () => {
|
|
|
253
432
|
};
|
|
254
433
|
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(0);
|
|
255
434
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
435
|
+
if (alternativeAnswerCheck === 'true') {
|
|
436
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
437
|
+
}
|
|
256
438
|
});
|
|
257
439
|
});
|
|
258
440
|
});
|
|
@@ -324,7 +506,7 @@ describe('Create item page - List ordering: All or nothing ', () => {
|
|
|
324
506
|
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(2);
|
|
325
507
|
listOrderingPage.steps.verifyCorrectIncorrectOptionIconDropdownLayoutNotExists(3);
|
|
326
508
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
|
|
327
|
-
utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct
|
|
509
|
+
utilities.verifyInnerText(listOrderingPage.correctAnswersLabel(), 'Correct answer');
|
|
328
510
|
listOrderingPage.steps.verifyOptionsPositionInCorrectAnswerSection(['sprout', 'plant', 'flower', 'seed'], ['2', '3', '4', '1']);
|
|
329
511
|
};
|
|
330
512
|
});
|
|
@@ -411,6 +593,9 @@ describe('Create item page - List ordering: All or nothing ', () => {
|
|
|
411
593
|
}
|
|
412
594
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
413
595
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
596
|
+
if (alternativeAnswerCheck === 'true') {
|
|
597
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
598
|
+
}
|
|
414
599
|
});
|
|
415
600
|
});
|
|
416
601
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { listOrderingPage } from "../../../../pages/listOrderingPage";
|
|
2
2
|
import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
|
3
3
|
|
|
4
|
+
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
|
|
4
5
|
let options = ['sprout', 'plant', 'flower', 'seed'];
|
|
5
6
|
let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
|
|
6
7
|
let alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
|
|
@@ -40,6 +41,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
40
41
|
listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
|
|
41
42
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
42
43
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
|
|
44
|
+
if (alternativeAnswerCheck === 'true') {
|
|
45
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
|
|
46
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
47
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
48
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
49
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
50
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
51
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
52
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
53
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
54
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
55
|
+
}
|
|
43
56
|
});
|
|
44
57
|
|
|
45
58
|
it('When the user attempts the question with responses from the correct accordion, then the user should be awarded with points specified for correct accordion (less than 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', () => {
|
|
@@ -55,6 +68,9 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
55
68
|
listOrderingPage.steps.verifyCorrectOptionIcon('flower');
|
|
56
69
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
57
70
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
71
|
+
if (alternativeAnswerCheck === 'true') {
|
|
72
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
73
|
+
}
|
|
58
74
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
59
75
|
/*cy.log('When the user has attempted the question with responses 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 correct\' and correct answer section should not be displayed')
|
|
60
76
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -80,6 +96,9 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
80
96
|
listOrderingPage.steps.verifyCorrectOptionIcon('flower');
|
|
81
97
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
82
98
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
99
|
+
if (alternativeAnswerCheck === 'true') {
|
|
100
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
101
|
+
}
|
|
83
102
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
84
103
|
/*cy.log('When the user has attempted the question with responses from the alternative 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 correct\' and correct answer section should not be displayed')
|
|
85
104
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -104,6 +123,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
104
123
|
listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
|
|
105
124
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
106
125
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
|
|
126
|
+
if (alternativeAnswerCheck === 'true') {
|
|
127
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
|
|
128
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
129
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
130
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
131
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
132
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
133
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
134
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
135
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
136
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
137
|
+
}
|
|
107
138
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
108
139
|
/*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')
|
|
109
140
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -128,6 +159,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
128
159
|
listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
|
|
129
160
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
130
161
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
|
|
162
|
+
if (alternativeAnswerCheck === 'true') {
|
|
163
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
|
|
164
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
165
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
166
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
167
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
168
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
169
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
170
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
171
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
172
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
173
|
+
}
|
|
131
174
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
132
175
|
/*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, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
133
176
|
listOrderingPage.steps.checkAnswer();
|
|
@@ -153,6 +196,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
153
196
|
listOrderingPage.steps.verifyCorrectOptionIcon('plant');
|
|
154
197
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
155
198
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
|
|
199
|
+
if (alternativeAnswerCheck === 'true') {
|
|
200
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
|
|
201
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
202
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
203
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
204
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
205
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
206
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
207
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
208
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
209
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
210
|
+
}
|
|
156
211
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
157
212
|
/*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')
|
|
158
213
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -177,6 +232,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
177
232
|
listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
|
|
178
233
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
179
234
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
|
|
235
|
+
if (alternativeAnswerCheck === 'true') {
|
|
236
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
|
|
237
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
238
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
239
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
240
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
241
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
242
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
243
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
244
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
245
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
246
|
+
}
|
|
180
247
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
181
248
|
/*cy.log('When the user has attempted the question with the common response between correct and alternative 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')
|
|
182
249
|
listOrderingPage.steps.checkAnswer();
|
|
@@ -200,7 +267,18 @@ describe('Create item page - List ordering: All or nothing scoring with alternat
|
|
|
200
267
|
listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
|
|
201
268
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(alternateCorrectAnswerArray);
|
|
202
269
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
203
|
-
|
|
270
|
+
if (alternativeAnswerCheck === 'true') {
|
|
271
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(25 points)', 0);
|
|
272
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
273
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
274
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
275
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
276
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
277
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
278
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
279
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
280
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
281
|
+
}
|
|
204
282
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
205
283
|
|
|
206
284
|
/*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')
|
package/cypress/e2e/ILC/ListOrderingNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js
CHANGED
|
@@ -4,6 +4,7 @@ import abortEarlySetup from "../../../../support/helpers/abortEarly";
|
|
|
4
4
|
let options = ['sprout', 'plant', 'flower', 'seed'];
|
|
5
5
|
let correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
|
|
6
6
|
let alternateCorrectAnswerArray = ['seed', 'flower', 'sprout', 'plant'];
|
|
7
|
+
const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT');
|
|
7
8
|
|
|
8
9
|
describe('Create Item page - List ordering: All or nothing scoring with alternative answer - When Correct answer points are equal to the alternative answer points', () => {
|
|
9
10
|
before(() => {
|
|
@@ -39,6 +40,18 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
39
40
|
listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
|
|
40
41
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
41
42
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
|
|
43
|
+
if (alternativeAnswerCheck === 'true') {
|
|
44
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
45
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
46
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
47
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
48
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
49
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
50
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
51
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
52
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
53
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
54
|
+
}
|
|
42
55
|
});
|
|
43
56
|
|
|
44
57
|
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', () => {
|
|
@@ -54,6 +67,9 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
54
67
|
listOrderingPage.steps.verifyCorrectOptionIcon('flower');
|
|
55
68
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
56
69
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
70
|
+
if (alternativeAnswerCheck === 'true') {
|
|
71
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
72
|
+
}
|
|
57
73
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
58
74
|
/*cy.log('When the user has attempted the question with responses 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 correct\' and correct answer section should not be displayed')
|
|
59
75
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -79,6 +95,9 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
79
95
|
listOrderingPage.steps.verifyCorrectOptionIcon('flower');
|
|
80
96
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
|
|
81
97
|
listOrderingPage.steps.verifyCorrectAnswerSectionNotExists();
|
|
98
|
+
if (alternativeAnswerCheck === 'true') {
|
|
99
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleNotExists();
|
|
100
|
+
}
|
|
82
101
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
83
102
|
/*cy.log('When the user has attempted the question with responses from the alternative 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 correct\' and correct answer section should not be displayed')
|
|
84
103
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -103,6 +122,18 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
103
122
|
listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
|
|
104
123
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
105
124
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
|
|
125
|
+
if (alternativeAnswerCheck === 'true') {
|
|
126
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
127
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
128
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
129
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
130
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
131
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
132
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
133
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
134
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
135
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
136
|
+
}
|
|
106
137
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
107
138
|
/*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')
|
|
108
139
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -127,6 +158,18 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
127
158
|
listOrderingPage.steps.verifyIncorrectOptionIcon('seed');
|
|
128
159
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
129
160
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
|
|
161
|
+
if (alternativeAnswerCheck === 'true') {
|
|
162
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
163
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
164
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
165
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
166
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
167
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
168
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
169
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
170
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
171
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
172
|
+
}
|
|
130
173
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
131
174
|
/*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, a status message with text \'Your answer is incorrect\' and correct answer section should not be displayed')
|
|
132
175
|
listOrderingPage.steps.checkAnswer();
|
|
@@ -152,6 +195,18 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
152
195
|
listOrderingPage.steps.verifyIncorrectOptionIcon('plant');
|
|
153
196
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
154
197
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
|
|
198
|
+
if (alternativeAnswerCheck === 'true') {
|
|
199
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
200
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
201
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
202
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
203
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
204
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
205
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
206
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
207
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
208
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
209
|
+
}
|
|
155
210
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
156
211
|
/*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')
|
|
157
212
|
listOrderingPage.steps.checkAnswer();
|
|
@@ -176,6 +231,18 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
176
231
|
listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
|
|
177
232
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
178
233
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
|
|
234
|
+
if (alternativeAnswerCheck === 'true') {
|
|
235
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
236
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
237
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
238
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
239
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
240
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
241
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
242
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
243
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
244
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
245
|
+
}
|
|
179
246
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
180
247
|
/*cy.log('When the user has attempted the question with the common response between correct and alternative 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')
|
|
181
248
|
listOrderingPage.steps.checkAnswer()
|
|
@@ -200,6 +267,18 @@ describe('Create Item page - List ordering: All or nothing scoring with alternat
|
|
|
200
267
|
listOrderingPage.steps.verifyIncorrectOptionIcon('sprout');
|
|
201
268
|
listOrderingPage.steps.verifyOptionsInCorrectAnswerSection(correctAnswerArray);
|
|
202
269
|
listOrderingPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
|
|
270
|
+
if (alternativeAnswerCheck === 'true') {
|
|
271
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Correct answer', '(20 points)', 0);
|
|
272
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(0, ['seed', 'sprout', 'plant', 'flower', ]);
|
|
273
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleExists();
|
|
274
|
+
listOrderingPage.steps.disableShowAlternativeAnswersToggle();
|
|
275
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleUnchecked();
|
|
276
|
+
listOrderingPage.steps.verifyAlternativeAnswersSectionNotExist();
|
|
277
|
+
listOrderingPage.steps.clickShowAlternativeAnswersToggle();
|
|
278
|
+
listOrderingPage.steps.verifyShowAlternativeAnswersToggleChecked();
|
|
279
|
+
listOrderingPage.steps.verifyAnswerLabelAndPoints('Alternative answer', '(20 points)', 1);
|
|
280
|
+
listOrderingPage.steps.verifyOptionsInCorrectAndAlternativeAnswerSection(1, ['seed', 'flower', 'sprout', 'plant' ]);
|
|
281
|
+
}
|
|
203
282
|
listOrderingPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
|
|
204
283
|
/*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')
|
|
205
284
|
listOrderingPage.steps.checkAnswer();
|