itemengine-cypress-automation 1.0.291-RCA-5154-dad9b9b.0 → 1.0.292

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +2 -0
  2. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/editQuestion.smoke.js +74 -0
  3. package/cypress/e2e/ILC/DrawingResponse/editQuestion.smoke.js +46 -0
  4. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +0 -1
  5. package/cypress/e2e/ILC/EssayResponse/editQuestion.smoke.js +46 -0
  6. package/cypress/e2e/ILC/EssayResponseBasic/editQuestion.smoke.js +46 -0
  7. package/cypress/e2e/ILC/EssayResponseMath/editQuestion.smoke.js +46 -0
  8. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/editQuestion.smoke.js +76 -0
  9. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +2 -2
  10. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +68 -0
  11. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/editQuestion.smoke.js +78 -0
  12. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/previewContentsForAllViews.smoke.js +4 -0
  13. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editQuestion.smoke.js +72 -0
  14. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/editQuestion.smoke.js +65 -0
  15. package/cypress/e2e/ILC/FillInTheGapsTextNew/editQuestion.smoke.js +60 -0
  16. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +1 -0
  17. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +1 -1
  18. package/cypress/e2e/ILC/GridFill/editQuestion.smoke.js +66 -0
  19. package/cypress/e2e/ILC/GridFill/minimumScoringPenaltyPointsAndRoundingDropdown.js +0 -5
  20. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +0 -1
  21. package/cypress/e2e/ILC/ListOrderingNew/editQuestion.smoke.js +72 -0
  22. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/HorizontalOrientation/previewContentsForAllViews.smoke.js +3 -0
  23. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +2 -0
  24. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +1 -0
  25. package/cypress/e2e/ILC/Matching/editQuestion.smoke.js +72 -0
  26. package/cypress/e2e/ILC/Matching/previewTabContentsForAllViews.smoke.js +4 -2
  27. package/cypress/e2e/ILC/MultipleSelection/allOrNothingWithAlternativeAnswer.js +0 -4
  28. package/cypress/e2e/ILC/MultipleSelection/editQuestion.smoke.js +73 -0
  29. package/cypress/e2e/ILC/MultipleSelection/manuallyAndNonScoredScoring.js +123 -117
  30. package/cypress/e2e/ILC/MultipleSelection/minimumScoringPenaltyPointsAndRoundingDropdown.js +0 -1
  31. package/cypress/e2e/ILC/MultipleSelection/partialEqualWeightsWithAlternativeAnswer.js +0 -2
  32. package/cypress/e2e/ILC/MultipleSelection/previewContentsForAllViews.smoke.js +2 -3
  33. package/cypress/e2e/ILC/MultipleSelection/specifyCorrectAnswerSection.js +0 -2
  34. package/cypress/e2e/ILC/MultipleSelectionGridNew/editQuestion.smoke.js +82 -0
  35. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +2 -0
  36. package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/allOrNothingForAllViews.smoke.js +2 -0
  37. package/cypress/e2e/ILC/SingleSelection/previewContents.smoke.js +0 -1
  38. package/cypress/e2e/ILC/SingleSelectionGridNew/editQuestion.smoke.js +74 -0
  39. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +0 -1
  40. package/cypress/e2e/ILC/TextEntryMath/{evaluationMethodMatchValue.js → evaluationMethodMatchValue.smoke.js} +1 -1
  41. package/cypress/e2e/ILC/TextEntryMath/{evaluationMethodsWithoutSetResponse.js → evaluationMethodsWithoutSetResponse.smoke.js} +2 -13
  42. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +0 -1
  43. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +1 -2
  44. package/cypress/e2e/ILC/TextSelection/editQuestion.smoke.js +88 -0
  45. package/cypress/e2e/ILC/UploadResponse/previewContentsForAllViews.smoke.js +0 -1
  46. package/cypress/e2e/ILC/VideoResponseNew/gradingViewAndCorrectAnswerViewContents.smoke.js +4 -3
  47. package/cypress/e2e/ILC/VideoResponseNew/headerSection.js +1 -1
  48. package/cypress/e2e/ILC/VideoResponseNew/studentViewSettingsStandardRecorderStyle.js +2 -3
  49. package/cypress/pages/components/autoScoredScoringPreviewTab.js +6 -1
  50. package/cypress/pages/components/autoScoredSpecifyCorrectAnswerSection.js +11 -1
  51. package/cypress/pages/components/browseItemsPage.js +27 -2
  52. package/cypress/pages/components/commonComponents.js +2 -1
  53. package/cypress/pages/components/createQuestionBasePage.js +31 -2
  54. package/cypress/pages/components/draggableOptionContainer.js +6 -4
  55. package/cypress/pages/components/fillInTheGapsDragAndDropCommonComponents.js +12 -1
  56. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -2
  57. package/cypress/pages/components/gridQuestionCommonComponent.js +23 -0
  58. package/cypress/pages/components/imageCanvasComponent.js +0 -1
  59. package/cypress/pages/components/optionsWrapperComponent.js +15 -0
  60. package/cypress/pages/dragAndDropIntoCategoriesPage.js +15 -1
  61. package/cypress/pages/drawingResponsePage.js +2 -1
  62. package/cypress/pages/essayResponseBasicPage.js +3 -1
  63. package/cypress/pages/essayResponsePage.js +2 -0
  64. package/cypress/pages/fillInTheGapsDragAndDropPage.js +2 -0
  65. package/cypress/pages/fillInTheGapsDropdownPage.js +4 -2
  66. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +2 -0
  67. package/cypress/pages/fillInTheGapsOverImageDropdownPage.js +3 -1
  68. package/cypress/pages/fillInTheGapsOverImageTextPage.js +2 -0
  69. package/cypress/pages/fillInTheGapsTextPage.js +2 -0
  70. package/cypress/pages/gridFillPage.js +2 -1
  71. package/cypress/pages/listOrderingPage.js +13 -0
  72. package/cypress/pages/matchingPage.js +13 -2
  73. package/cypress/pages/multipleSelectionGridPage.js +33 -0
  74. package/cypress/pages/multipleSelectionPage.js +27 -0
  75. package/cypress/pages/singleSelectionGridPage.js +25 -0
  76. package/cypress/pages/singleSelectionPage.js +30 -4
  77. package/cypress/pages/studentViewPage.js +2 -2
  78. package/cypress/pages/textSelectionPage.js +13 -0
  79. package/cypress/pages/videoResponsePage.js +14 -1
  80. package/package.json +1 -1
  81. /package/cypress/e2e/ILC/TextEntryMath/{evaluationMethodEquivalentStructures.js → evaluationMethodEquivalentStructures.smoke.js} +0 -0
  82. /package/cypress/e2e/ILC/TextEntryMath/{evaluationMethodMatchExact.js → evaluationMethodMatchExact.smoke.js} +0 -0
  83. /package/cypress/e2e/ILC/TextEntryMath/{evaluationMethodSymbolsAreEquivalent.js → evaluationMethodSymbolsAreEquivalent.smoke.js} +0 -0
  84. /package/cypress/e2e/ILC/TextEntryMath/{evaluationMethodValueIsEquivalent.js → evaluationMethodValueIsEquivalent.smoke.js} +0 -0
@@ -0,0 +1,65 @@
1
+ import { fillInTheGapsOverImageTextPage } from "../../../pages/fillInTheGapsOverImageTextPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+
6
+ describe('Edit item - fill in the gaps with text', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Edit fill in the gaps with text question', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ fillInTheGapsOverImageTextPage.steps.navigateToCreateQuestion('fill in the gaps over image with text');
15
+ cy.barsPreLoaderWait();
16
+ fillInTheGapsOverImageTextPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps over image with text')
17
+ fillInTheGapsOverImageTextPage.steps.allotPoints(20);
18
+ fillInTheGapsOverImageTextPage.steps.uploadFile('highlightImage.jpg');
19
+ fillInTheGapsOverImageTextPage.steps.allotPoints(10);
20
+ fillInTheGapsOverImageTextPage.steps.verifyImageIsUploaded();
21
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(10);
22
+ fillInTheGapsOverImageTextPage.steps.insertResponseArea(60);
23
+ fillInTheGapsOverImageTextPage.steps.selectAcceptedStudentInputType(1, 'Number');
24
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Flower' }, { responseIndex: 1, responseText: '20.00' }]);
25
+ fillInTheGapsOverImageTextPage.steps.saveAQuestionAndVerifySnackbar();
26
+ });
27
+
28
+ it('User should be able to edit question instruction and save the question', () => {
29
+ fillInTheGapsOverImageTextPage.steps.editItem();
30
+ fillInTheGapsOverImageTextPage.steps.clearQuestionInstructionsInputField();
31
+ fillInTheGapsOverImageTextPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps question instruction Updated');
32
+ fillInTheGapsOverImageTextPage.steps.saveAQuestionAndVerifySnackbar();
33
+ fillInTheGapsOverImageTextPage.steps.verifyQuestionInstructionsTextPreviewTab('Fill in the gaps question instruction Updated');
34
+ });
35
+
36
+ it('User should be able to edit correct answer and save the question', () => {
37
+ fillInTheGapsOverImageTextPage.steps.editItem();
38
+ fillInTheGapsOverImageTextPage.steps.selectAcceptedStudentInputType(1, 'Integer');
39
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Animal' }, { responseIndex: 1, responseText: '21' }]);
40
+ fillInTheGapsOverImageTextPage.steps.saveAQuestionAndVerifySnackbar();
41
+ });
42
+
43
+ it('User should be able to edit points and save the question', () => {
44
+ fillInTheGapsOverImageTextPage.steps.editItem();
45
+ fillInTheGapsOverImageTextPage.steps.allotPoints(30);
46
+ fillInTheGapsOverImageTextPage.steps.saveAQuestionAndVerifySnackbar();
47
+ fillInTheGapsOverImageTextPage.steps.verifyPointInQuestionPreview(30);
48
+ });
49
+
50
+ it('User should be able to change scoring type to manually and save the question', () => {
51
+ fillInTheGapsOverImageTextPage.steps.editItem();
52
+ fillInTheGapsOverImageTextPage.steps.expandScoringTypeDropdown();
53
+ fillInTheGapsOverImageTextPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
54
+ fillInTheGapsOverImageTextPage.steps.saveAQuestionAndVerifySnackbar();
55
+ });
56
+
57
+ it('User should be able to change scoring type to non scored and save the question', () => {
58
+ fillInTheGapsOverImageTextPage.steps.editItem();
59
+ fillInTheGapsOverImageTextPage.steps.expandScoringTypeDropdown();
60
+ fillInTheGapsOverImageTextPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
61
+ fillInTheGapsOverImageTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Animal' }, { responseIndex: 1, responseText: '21' }]);
62
+ fillInTheGapsOverImageTextPage.steps.saveAQuestionAndVerifySnackbar();
63
+ });
64
+ });
65
+ });
@@ -0,0 +1,60 @@
1
+ import { fillInTheGapsTextPage } from "../../../pages/fillInTheGapsTextPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+
6
+ describe('Edit item - fill in the gaps with text', () => {
7
+ before(() => {
8
+ cy.loginAs('admin');
9
+ });
10
+
11
+ describe('Edit fill in the gaps with text question', () => {
12
+ abortEarlySetup();
13
+ before(() => {
14
+ fillInTheGapsTextPage.steps.navigateToCreateQuestion('fill in the gaps with text');
15
+ cy.barsPreLoaderWait();
16
+ fillInTheGapsTextPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps');
17
+ fillInTheGapsTextPage.steps.allotPoints(20);
18
+ fillInTheGapsTextPage.steps.selectAcceptedStudentInputType(1, 'Number');
19
+ fillInTheGapsTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Flower' }, { responseIndex: 1, responseText: '20.00' }]);
20
+ fillInTheGapsTextPage.steps.saveAQuestionAndVerifySnackbar();
21
+ });
22
+
23
+ it('User should be able to edit question instruction and save the question', () => {
24
+ fillInTheGapsTextPage.steps.editItem();
25
+ fillInTheGapsTextPage.steps.clearQuestionInstructionsInputField();
26
+ fillInTheGapsTextPage.steps.addTextInQuestionInstructionsInputField('Fill in the gaps with text question instruction Updated');
27
+ fillInTheGapsTextPage.steps.saveAQuestionAndVerifySnackbar();
28
+ fillInTheGapsTextPage.steps.verifyQuestionInstructionsTextPreviewTab( 'Fill in the gaps with text question instruction Updated');
29
+ });
30
+
31
+ it('User should be able to edit correct answer and save the question', () => {
32
+ fillInTheGapsTextPage.steps.editItem();
33
+ fillInTheGapsTextPage.steps.selectAcceptedStudentInputType(1, 'Integer');
34
+ fillInTheGapsTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Animal' }, { responseIndex: 1, responseText: '21' }]);
35
+ fillInTheGapsTextPage.steps.saveAQuestionAndVerifySnackbar();
36
+ });
37
+
38
+ it('User should be able to edit points and save the question', () => {
39
+ fillInTheGapsTextPage.steps.editItem();
40
+ fillInTheGapsTextPage.steps.allotPoints(30);
41
+ fillInTheGapsTextPage.steps.saveAQuestionAndVerifySnackbar();
42
+ fillInTheGapsTextPage.steps.verifyPointInQuestionPreview(30);
43
+ });
44
+
45
+ it('User should be able to change scoring type to manually and save the question', () => {
46
+ fillInTheGapsTextPage.steps.editItem();
47
+ fillInTheGapsTextPage.steps.expandScoringTypeDropdown();
48
+ fillInTheGapsTextPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
49
+ fillInTheGapsTextPage.steps.saveAQuestionAndVerifySnackbar();
50
+ });
51
+
52
+ it('User should be able to change scoring type to non scored and save the question', () => {
53
+ fillInTheGapsTextPage.steps.editItem();
54
+ fillInTheGapsTextPage.steps.expandScoringTypeDropdown();
55
+ fillInTheGapsTextPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
56
+ fillInTheGapsTextPage.steps.enterTextInAnswerInputFieldsSpecifyCorrectAnswerSection([{ responseIndex: 0, responseText: 'Animal' }, { responseIndex: 1, responseText: '21' }]);
57
+ fillInTheGapsTextPage.steps.saveAQuestionAndVerifySnackbar();
58
+ });
59
+ });
60
+ });
@@ -102,6 +102,7 @@ describe('Create Item page - Graphing: All or nothing ', () => {
102
102
  itemPreviewPage.steps.resetQuestionPreview();
103
103
  break;
104
104
  case 'Grading view':
105
+ cy.wait(5000);
105
106
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
106
107
  break;
107
108
  }
@@ -90,7 +90,7 @@ describe('Create item page - Grid fill: All or nothing', () => {
90
90
  itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
91
91
  });
92
92
  };
93
- //Failed due to https://redmine.zeuslearning.com/issues/565569
93
+
94
94
  it('When the user selects \'Grading\' view without attempting the question, correct answer tick should be displayed in correct answer cell and correct/incorrect status message should not be displayed', () => {
95
95
  if (view === 'Grading view') {
96
96
  studentViewPage.steps.submitResponse();
@@ -0,0 +1,66 @@
1
+ import { gridFillPage } from "../../../pages/gridFillPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ const css = Cypress.env('css');
6
+ const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
7
+ const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
8
+ const optionsArray1 = ['Dog', 'Elephant', 'Fish', 'Bike', 'Eagle', 'Penguin'];
9
+
10
+ describe('Edit item - Grid fill', () => {
11
+ before(() => {
12
+ cy.loginAs('admin');
13
+ });
14
+
15
+ describe('Edit Grid fill Question', () => {
16
+ abortEarlySetup();
17
+ before(() => {
18
+ gridFillPage.steps.navigateToCreateQuestion('grid fill');
19
+ cy.barsPreLoaderWait();
20
+ gridFillPage.steps.addQuestionInstructions();
21
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 0);
22
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 1);
23
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 2);
24
+ gridFillPage.steps.allotPoints(20);
25
+ gridFillPage.steps.saveAQuestionAndVerifySnackbar();
26
+ });
27
+
28
+ it('User should be able to edit question instruction and save the question', () => {
29
+ gridFillPage.steps.editItem();
30
+ gridFillPage.steps.clearQuestionInstructionsInputField();
31
+ gridFillPage.steps.addTextInQuestionInstructionsInputField('Grid fill question instruction Updated');
32
+ gridFillPage.steps.saveAQuestionAndVerifySnackbar();
33
+ gridFillPage.steps.verifyQuestionInstructionsTextPreviewTab('Grid fill question instruction Updated');
34
+ });
35
+
36
+ it('User should be able to edit correct answer and save the question', () => {
37
+ gridFillPage.steps.editItem();
38
+ gridFillPage.steps.unselectCellSpecifyCorrectAnswerSection(0, 0);
39
+ gridFillPage.steps.unselectCellSpecifyCorrectAnswerSection(0, 1);
40
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(1, 1);
41
+ gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 3);
42
+ gridFillPage.steps.saveAQuestionAndVerifySnackbar();
43
+ });
44
+
45
+ it('User should be able to edit points and save the question', () => {
46
+ gridFillPage.steps.editItem();
47
+ gridFillPage.steps.allotPoints(30);
48
+ gridFillPage.steps.saveAQuestionAndVerifySnackbar();
49
+ gridFillPage.steps.verifyPointInQuestionPreview(30);
50
+ });
51
+
52
+ it('User should be able to change scoring type to manually and save the question', () => {
53
+ gridFillPage.steps.editItem();
54
+ gridFillPage.steps.expandScoringTypeDropdown();
55
+ gridFillPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
56
+ gridFillPage.steps.saveAQuestionAndVerifySnackbar();
57
+ });
58
+
59
+ it('User should be able to change scoring type to non scored and save the question', () => {
60
+ gridFillPage.steps.editItem();
61
+ gridFillPage.steps.expandScoringTypeDropdown();
62
+ gridFillPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
63
+ gridFillPage.steps.saveAQuestionAndVerifySnackbar();
64
+ });
65
+ });
66
+ });
@@ -58,7 +58,6 @@ describe('Create item page - Grid fill: Minimum scoring, Penalty scoring, Roundi
58
58
  utilities.verifyInnerText(gridFillPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Penalty points for each incorrect cell: -');
59
59
  });
60
60
 
61
- //Failed due to https://redmine.zeuslearning.com/issues/565332
62
61
  it('When the user allots total penalty points, then \'Points for each incorrect cell\' should get updated as per the count of incorrect cells available', () => {
63
62
  gridFillPage.steps.allotTotalPenaltyPoints(5);
64
63
  gridFillPage.steps.verifyPenaltyPointsForEachIncorrectCell(0.3846);
@@ -129,19 +128,16 @@ describe('Create item page - Grid fill: Minimum scoring, Penalty scoring, Roundi
129
128
  utilities.verifyInnerText(gridFillPage.penaltyPointsDetailsSectionAllottedPointsLabel(), 'Total penalty points: -');
130
129
  });
131
130
 
132
- //Failed due to https://redmine.zeuslearning.com/issues/565332
133
131
  it('When the user allots Penalty points for each incorrect cell, then \'Total penalty points\' should get updated as per the count of incorrect cells available', () => {
134
132
  gridFillPage.steps.allotPenaltyPointsForEachIncorrectCell(1);
135
133
  gridFillPage.steps.verifyTotalPenaltyPoints(13);
136
134
  });
137
135
 
138
- //Failed due to https://redmine.zeuslearning.com/issues/565332
139
136
  it('When the user adds a new cell, then \'Total penalty points\' should get updated accordingly', () => {
140
137
  gridFillPage.steps.selectCellSpecifyCorrectAnswerSection(0, 4);
141
138
  gridFillPage.steps.verifyTotalPenaltyPoints(12);
142
139
  });
143
140
 
144
- //Failed due to https://redmine.zeuslearning.com/issues/565332
145
141
  it('When the user deletes an cell, then \'points for each incorrect cell\' should get updated accordingly', () => {
146
142
  gridFillPage.steps.deselectCellSpecifyCorrectAnswerSection(0, 4);
147
143
  gridFillPage.steps.verifyTotalPenaltyPoints(13);
@@ -169,7 +165,6 @@ describe('Create item page - Grid fill: Minimum scoring, Penalty scoring, Roundi
169
165
  cy.checkAccessibility(gridFillPage.automaticallySetPenaltyPointsCheckboxLabel().parents('.penalty-score-for-each-incorrect-wrapper'));
170
166
  });
171
167
 
172
- //Failed due to https://redmine.zeuslearning.com/issues/565332
173
168
  it('When the user switches to the \'Specify total penalty points\' option, the total penalty points input field should be filled as per the total penalty points in \'Specify points for each incorrect cell\'', () => {
174
169
  gridFillPage.steps.selectPenaltyPointsForEachIncorrectOptionType('Specify total penalty points');
175
170
  gridFillPage.steps.verifyTotalPenaltyPointsValue(13);
@@ -51,7 +51,6 @@ describe('Create item page - Image highlight: All or nothing ', () => {
51
51
  });
52
52
  };
53
53
 
54
- //Failing due to https://redmine.zeuslearning.com/issues/571054
55
54
  views.forEach((view) => {
56
55
  describe(`${view}: Auto scored - All or nothing scoring`, { tags: 'smoke' }, () => {
57
56
  abortEarlySetup();
@@ -0,0 +1,72 @@
1
+ import { listOrderingPage } from "../../../pages/listOrderingPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+ const css = Cypress.env('css');
5
+ const options = ['sprout', 'plant', 'flower', 'seed'];
6
+ const correctAnswerArray = ['seed', 'sprout', 'plant', 'flower'];
7
+ const options1 = ['tree', 'plant', 'flower', 'animal'];
8
+
9
+ describe('Edit item - List ordering', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ describe('Edit List ordering Question', () => {
15
+ abortEarlySetup();
16
+ before(() => {
17
+ listOrderingPage.steps.navigateToCreateQuestion('list ordering');
18
+ cy.barsPreLoaderWait();
19
+ listOrderingPage.steps.addQuestionInstructions();
20
+ listOrderingPage.steps.addInputToOptionsInputField(options);
21
+ listOrderingPage.steps.allotPoints(20);
22
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('seed', 0);
23
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('sprout', 1);
24
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
25
+ });
26
+
27
+ it('User should be able to edit question instruction and save the question', () => {
28
+ listOrderingPage.steps.editItem();
29
+ listOrderingPage.steps.clearQuestionInstructionsInputField();
30
+ listOrderingPage.steps.addTextInQuestionInstructionsInputField('List ordering question instruction Updated');
31
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
32
+ listOrderingPage.steps.verifyQuestionInstructionsTextPreviewTab('List ordering question instruction Updated');
33
+ });
34
+
35
+ it('User should be able to edit options and save the question', () => {
36
+ listOrderingPage.steps.editItem();
37
+ listOrderingPage.steps.addInputToOptionsInputField(options1);
38
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
39
+ listOrderingPage.steps.verifyOptionFieldContentsInOptionsSectionQuestionPreviewTab(options1);
40
+ });
41
+
42
+ it('User should be able to edit correct answer and save the question', () => {
43
+ listOrderingPage.steps.editItem();
44
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('animal', 0);
45
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('flower', 1);
46
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
47
+ });
48
+
49
+ it('User should be able to edit points and save the question', () => {
50
+ listOrderingPage.steps.editItem();
51
+ listOrderingPage.steps.allotPoints(30);
52
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
53
+ listOrderingPage.steps.verifyPointInQuestionPreview(30);
54
+ });
55
+
56
+ it('User should be able to change scoring type to manually and save the question', () => {
57
+ listOrderingPage.steps.editItem();
58
+ listOrderingPage.steps.expandScoringTypeDropdown();
59
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
60
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
61
+ });
62
+
63
+ it('User should be able to change scoring type to non scored and save the question', () => {
64
+ listOrderingPage.steps.editItem();
65
+ listOrderingPage.steps.expandScoringTypeDropdown();
66
+ listOrderingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
67
+ listOrderingPage.steps.clickAndReorderOptionInSpecifyCorrectAnswerSection('flower', 1);
68
+ listOrderingPage.steps.saveAQuestionAndVerifySnackbar();
69
+ listOrderingPage.steps.verifyPointInQuestionPreview(0);
70
+ });
71
+ });
72
+ });
@@ -55,12 +55,15 @@ describe('Create item page - List ordering - Preview contents in all views', ()
55
55
  listOrderingPage.steps.switchToPreviewTab();
56
56
  break;
57
57
  case 'Student view':
58
+ cy.wait(5000);
58
59
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
59
60
  break;
60
61
  case 'Grading view':
62
+ cy.wait(5000);
61
63
  cy.visit(`/item-engine/demo/render-item/grading-view/${utilities.base64Encoding(itemReferenceID)}`);
62
64
  break;
63
65
  case 'Correct answer view':
66
+ cy.wait(5000);
64
67
  cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
65
68
  break;
66
69
  default:
@@ -79,6 +79,7 @@ describe('Create item page - List ordering: All or nothing ', () => {
79
79
  itemPreviewPage.steps.switchToPreviewTab();
80
80
  break;
81
81
  case 'Grading view':
82
+ cy.wait(5000);
82
83
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
83
84
  break;
84
85
  };
@@ -95,6 +96,7 @@ describe('Create item page - List ordering: All or nothing ', () => {
95
96
  itemPreviewPage.steps.resetQuestionPreview();
96
97
  break;
97
98
  case 'Grading view':
99
+ cy.wait(5000);
98
100
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
99
101
  break;
100
102
  }
@@ -54,6 +54,7 @@ describe('Create item page - List ordering - Preview contents in all views', ()
54
54
  listOrderingPage.steps.switchToPreviewTab();
55
55
  break;
56
56
  case 'Student view':
57
+ cy.wait(5000);
57
58
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
58
59
  break;
59
60
  case 'Grading view':
@@ -0,0 +1,72 @@
1
+ import { matchingPage } from "../../../pages/matchingPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ const css = Cypress.env('css');
6
+ const promptTextArray = ['Wild', 'Aquatic', 'Pet'];
7
+ const optionsArray = ['Cat', 'Elephant', 'Fish', 'Bear', 'Eagle', 'Penguin'];
8
+ const optionsArray1 = ['Dog', 'Elephant', 'Fish', 'Bike', 'Eagle', 'Penguin'];
9
+
10
+ describe('Edit item - Matching', () => {
11
+ before(() => {
12
+ cy.loginAs('admin');
13
+ });
14
+
15
+ describe('Edit Matching Question', () => {
16
+ abortEarlySetup();
17
+ before(() => {
18
+ matchingPage.steps.navigateToCreateQuestion('matching');
19
+ cy.barsPreLoaderWait();
20
+ matchingPage.steps.addQuestionInstructions();
21
+ matchingPage.steps.addMultipleOptionFields(3);
22
+ matchingPage.steps.enterTextInPromptInputField(promptTextArray);
23
+ matchingPage.steps.enterTextInOptionInputField(optionsArray);
24
+ matchingPage.steps.allotPoints(20);
25
+ matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Elephant', dropzoneIndex: 0 }, { optionText: 'Bear', dropzoneIndex: 1 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
26
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
27
+ });
28
+
29
+ it('User should be able to edit question instruction and save the question', () => {
30
+ matchingPage.steps.editItem();
31
+ matchingPage.steps.clearQuestionInstructionsInputField();
32
+ matchingPage.steps.addTextInQuestionInstructionsInputField('Matching question instruction Updated');
33
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
34
+ matchingPage.steps.verifyQuestionInstructionsTextPreviewTab( 'Matching question instruction Updated');
35
+ });
36
+
37
+ it('User should be able to edit options and save the question', () => {
38
+ matchingPage.steps.editItem();
39
+ matchingPage.steps.enterTextInOptionInputField(optionsArray1);
40
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
41
+ matchingPage.steps.verifyOptionFieldContentsInOptionsSectionQuestionPreviewTab(optionsArray1);
42
+ });
43
+
44
+ it('User should be able to edit correct answer and save the question', () => {
45
+ matchingPage.steps.editItem();
46
+ matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Penguin', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 }]);
47
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
48
+ });
49
+
50
+ it('User should be able to edit points and save the question', () => {
51
+ matchingPage.steps.editItem();
52
+ matchingPage.steps.allotPoints(30);
53
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
54
+ matchingPage.steps.verifyPointInQuestionPreview(30);
55
+ });
56
+
57
+ it('User should be able to change scoring type to manually and save the question', () => {
58
+ matchingPage.steps.editItem();
59
+ matchingPage.steps.expandScoringTypeDropdown();
60
+ matchingPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
61
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
62
+ });
63
+
64
+ it('User should be able to change scoring type to non scored and save the question', () => {
65
+ matchingPage.steps.editItem();
66
+ matchingPage.steps.expandScoringTypeDropdown();
67
+ matchingPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
68
+ matchingPage.steps.clickAndDropOptionInDropzoneSpecifyCorrectAnswerSection([{ optionText: 'Penguin', dropzoneIndex: 0 }, { optionText: 'Eagle', dropzoneIndex: 1 },, { optionText: 'Dog', dropzoneIndex: 2 }]);
69
+ matchingPage.steps.saveAQuestionAndVerifySnackbar();
70
+ });
71
+ });
72
+ });
@@ -65,7 +65,9 @@ describe('Create item page - Matching - Preview contents in all views', () => {
65
65
  cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
66
66
  break;
67
67
  case 'Grading view':
68
+ cy.wait(1000);
68
69
  cy.visit(`/item-engine/demo/render-item/grading-view/${utilities.base64Encoding(itemReferenceID)}`);
70
+ cy.wait(2000);
69
71
  break;
70
72
  case 'Correct answer view':
71
73
  cy.wait(1000);
@@ -123,10 +125,10 @@ describe('Create item page - Matching - Preview contents in all views', () => {
123
125
  matchingPage.steps.verifyDropzoneContainsTextPreviewTab(0, 'Fox');
124
126
  matchingPage.steps.verifyDropzoneContainsTextPreviewTab(1, 'This is a bold option');
125
127
  matchingPage.steps.verifyDropzoneWithImageInPreviewTab(0);
126
- matchingPage.steps.verifyDropzoneWithEquationTextInPreviewTab(2);
128
+ // matchingPage.steps.verifyDropzoneWithEquationTextInPreviewTab(2);
127
129
  matchingPage.steps.verifyCorrectOptionIcon(0);
128
130
  matchingPage.steps.verifyCorrectOptionIcon(1);
129
- matchingPage.steps.verifyCorrectOptionIcon(2);
131
+ // matchingPage.steps.verifyCorrectOptionIcon(2);
130
132
  matchingPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
131
133
  utilities.verifyElementVisibilityState(matchingPage.correctAnswersOptions(), 'notExist');
132
134
  });
@@ -9,7 +9,6 @@ describe('Create item page - Multiple selection: All or nothing with alternative
9
9
  cy.loginAs('admin');
10
10
  });
11
11
 
12
- //Need to update once - https://redmine.zeuslearning.com/issues/553666 is resolved
13
12
  describe('Question preview: Auto scored - All or nothing with alternative answer - When \'Correct answer\' points are more than \'Alternative answer\' points', () => {
14
13
  abortEarlySetup();
15
14
  before(() => {
@@ -98,7 +97,6 @@ describe('Create item page - Multiple selection: All or nothing with alternative
98
97
  cy.checkAccessibility(multipleSelectionPage.previewTabQuestionWrapper());
99
98
  });
100
99
 
101
- //Failing due to: https://redmine.zeuslearning.com/issues/553572
102
100
  it('When the user attempts the question with responses from the alternative accordion, then the user should be awarded with points specified for alternative accordion (less than overall points) and on switching to \'Grading\' view, correct icons should be displayed besides correct responses from the alternative accordion , status message \'Your answer is correct\' should be displayed below the question preview and correct answer section should not be displayed', () => {
103
101
  multipleSelectionPage.steps.resetQuestionPreview();
104
102
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(2);
@@ -355,7 +353,6 @@ describe('Create item page - Multiple selection: All or nothing with alternative
355
353
  multipleSelectionPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
356
354
  });
357
355
 
358
- //Failing due to: https://redmine.zeuslearning.com/issues/553586
359
356
  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 overall points) and on switching to \'Grading\' view, correct icons should be displayed besides correct responses from the correct accordion and no icons should be displayed besides unattempted options and status message \'Your answer is correct\' should be displayed below the question preview and correct answer section should not be displayed', () => {
360
357
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(0);
361
358
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(1);
@@ -407,7 +404,6 @@ describe('Create item page - Multiple selection: All or nothing with alternative
407
404
  multipleSelectionPage.steps.verifyCorrectIncorrectAnswerLabel('correct');*/
408
405
  });
409
406
 
410
- //Failing due to: https://redmine.zeuslearning.com/issues/553593
411
407
  it('When the user attempts the question with partially correct responses exclusively from the correct accordion, then the user should be awarded with 0 points and on switching to \'Grading\' view, correct icons should only be displayed besides correct responses, no icons should be displayed besides unattempted options, incorrect icon should be displayed besides the incorrect responses, and status message \'Your answer is incorrect\' should be displayed below the question preview and correct answer from alternative accordion should be displayed in correct answer section', () => {
412
408
  multipleSelectionPage.steps.resetQuestionPreview();
413
409
  multipleSelectionPage.steps.checkOptionsCheckboxInPreviewTab(0);
@@ -0,0 +1,73 @@
1
+ import { multipleSelectionPage } from "../../../pages/multipleSelectionPage";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ const css = Cypress.env('css');
6
+
7
+ const options = ['Animal', 'Vehicle', 'Birds', 'Insects'];
8
+ const options2 = ['Car', 'Vehicle', 'Birds', 'Bike'];
9
+
10
+
11
+ describe('Edit item - multiple Selection', () => {
12
+ before(() => {
13
+ cy.loginAs('admin');
14
+ });
15
+
16
+ describe('Edit multiple selection question', () => {
17
+ abortEarlySetup();
18
+ before(() => {
19
+ multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
20
+ cy.barsPreLoaderWait();
21
+ multipleSelectionPage.steps.addQuestionInstructions();
22
+ multipleSelectionPage.steps.addInputToOptionsInputField(options);
23
+ multipleSelectionPage.steps.allotPoints(20);
24
+ multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(0);
25
+ multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);;
26
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
27
+ });
28
+
29
+ it('User should be able to edit question instruction and save the question', () => {
30
+ multipleSelectionPage.steps.editItem();
31
+ multipleSelectionPage.steps.clearQuestionInstructionsInputField();
32
+ multipleSelectionPage.steps.addTextInQuestionInstructionsInputField('Multiple selection question instruction Updated');
33
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
34
+ multipleSelectionPage.steps.verifyQuestionInstructionsTextPreviewTab('Multiple selection question instruction Updated');
35
+ });
36
+
37
+ it('User should be able to edit options and save the question', () => {
38
+ multipleSelectionPage.steps.editItem();
39
+ multipleSelectionPage.steps.editOptionInputField(0, 'Car');
40
+ multipleSelectionPage.steps.editOptionInputField(3, 'Bike');
41
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
42
+ multipleSelectionPage.steps.verifyOptionFieldContentsInOptionsSection(options2);
43
+ });
44
+
45
+ it('User should be able to edit correct answer and save the question', () => {
46
+ multipleSelectionPage.steps.editItem();
47
+ multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
48
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
49
+ });
50
+
51
+ it('User should be able to edit points and save the question', () => {
52
+ multipleSelectionPage.steps.editItem();
53
+ multipleSelectionPage.steps.allotPoints(30);
54
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
55
+ multipleSelectionPage.steps.verifyPointInQuestionPreview(30);
56
+ });
57
+
58
+ it('User should be able to change scoring type to manually and save the question', () => {
59
+ multipleSelectionPage.steps.editItem();
60
+ multipleSelectionPage.steps.expandScoringTypeDropdown();
61
+ multipleSelectionPage.steps.selectOptionFromScoringTypeDropdown('Manually scored');
62
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
63
+ });
64
+
65
+ it('User should be able to change scoring type to non scored and save the question', () => {
66
+ multipleSelectionPage.steps.editItem();
67
+ multipleSelectionPage.steps.expandScoringTypeDropdown();
68
+ multipleSelectionPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
69
+ multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
70
+ multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
71
+ });
72
+ });
73
+ });