itemengine-cypress-automation 1.0.326-IEI-4285-3f1c280.0 → 1.0.328-UpdateRepo28thFeb-24a9148.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.
Files changed (82) hide show
  1. package/cypress/e2e/ILC/CkEditorAudioPlayer/audioPlayerHeaderSectionAndButtons.js +5 -4
  2. package/cypress/e2e/ILC/CkEditorInsertTable/updateTable.js +1 -0
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +100 -0
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/studentViewSettingsForGroupedLayout.js +1 -0
  5. package/cypress/e2e/ILC/DrawingResponse/drawingResponseBackground.js +12 -0
  6. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/dropdownAndDropdownMenuSection.js +1 -0
  7. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/editQuestion.smoke.js +24 -0
  8. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/studentViewSettingsForGroupedLayout.js +5 -4
  9. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +4 -3
  10. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomizationDraggableOptionsPanel.js +1 -1
  11. package/cypress/e2e/ILC/FillInTheGapsTextNew/editTabBasicSection.js +80 -0
  12. package/cypress/e2e/ILC/ListOrderingNew/HorizontalOrientation/previewContentsForAllViews.smoke.js +1 -1
  13. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/allOrNothingForAllViews.smoke.js +2 -1
  14. package/cypress/e2e/ILC/ListOrderingReorderAsASeperateList/previewContentsForAllViews.smoke.js +1 -1
  15. package/cypress/e2e/ILC/Matching/draggableOptions.js +29 -0
  16. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationDropzoneConnectorStyle.js +52 -47
  17. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationOptionAlignment.js +6 -4
  18. package/cypress/e2e/ILC/Matching/styleAndLayoutCustomizationOptionPlacement.js +60 -54
  19. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +1 -1
  20. package/cypress/e2e/ILC/MultipleSelection/checkAddAlternativeButton.js +34 -0
  21. package/cypress/e2e/ILC/MultipleSelection/checkScoringLabelBannerAndCorrectAnswer.js +79 -0
  22. package/cypress/e2e/ILC/MultipleSelection/editQuestion.smoke.js +1 -1
  23. package/cypress/e2e/ILC/MultipleSelection/editTabBasicSection.js +31 -0
  24. package/cypress/e2e/ILC/MultipleSelection/headerSection.js +36 -7
  25. package/cypress/e2e/ILC/MultipleSelection/previewContentsForInCompleteAuthoring.js +98 -0
  26. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/blankResponseScoring.js +5 -19
  27. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswer.js +80 -0
  28. package/cypress/e2e/ILC/MultipleSelectionGridNew/checkAddAlternativeButton.js +38 -0
  29. package/cypress/e2e/ILC/MultipleSelectionGridNew/editTabBasicSection.js +35 -1
  30. package/cypress/e2e/ILC/MultipleSelectionGridNew/headerSection.js +36 -10
  31. package/cypress/e2e/ILC/MultipleSelectionGridNew/previewContentForAllViewsInIncompleteAuthoring.smoke.js +71 -0
  32. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +88 -2
  33. package/cypress/e2e/ILC/SingleSelection/checkAddAlternativeButton.js +34 -0
  34. package/cypress/e2e/ILC/SingleSelection/checkScoringLabelBannerAndCorrectAnswer.js +79 -0
  35. package/cypress/e2e/ILC/SingleSelection/editQuestion.smoke.js +72 -0
  36. package/cypress/e2e/ILC/SingleSelection/editTabBasicSection.js +31 -0
  37. package/cypress/e2e/ILC/SingleSelection/headerSection.js +36 -11
  38. package/cypress/e2e/ILC/SingleSelection/previewContentsForInCompleteAuthoring.js +92 -0
  39. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/blankResponseScoring.js +4 -18
  40. package/cypress/e2e/ILC/SingleSelectionGridNew/Scoring/checkScoringLabelBannerAndCorrectAnswerSection.js +79 -0
  41. package/cypress/e2e/ILC/SingleSelectionGridNew/checkAddAlternativeButton.js +35 -0
  42. package/cypress/e2e/ILC/SingleSelectionGridNew/editTabBasicSection.js +34 -0
  43. package/cypress/e2e/ILC/SingleSelectionGridNew/headerSection.js +37 -10
  44. package/cypress/e2e/ILC/SingleSelectionGridNew/previewContentsForAllViewsInIncompleteAuthoring.smoke.js +69 -0
  45. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViewsFormulaTemplate.smoke.js +5 -6
  46. package/cypress/e2e/ILC/TextEntryMath/customSettings.js +1 -1
  47. package/cypress/e2e/ILC/TextEntryMath/previewContentsForAllViews.smoke.js +33 -0
  48. package/cypress/e2e/ILC/TextSelection/ScoringGeneric/basicScoringForAllTextSelectionTypes.smoke.js +7 -7
  49. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +8 -8
  50. package/cypress/e2e/ILC/UploadResponse/editTabBasicSection.js +2 -3
  51. package/cypress/e2e/ILC/UploadResponse/gradingViewAndCorrectAnswerViewContents.smoke.js +0 -41
  52. package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +1 -17
  53. package/cypress/e2e/ILC/VideoResponseNew/compactRecorderStyle.smoke.js +3 -3
  54. package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +6 -6
  55. package/cypress/pages/components/autoScoredScoringPreviewTab.js +0 -1
  56. package/cypress/pages/components/barAndLineChartComponent.js +1 -1
  57. package/cypress/pages/components/ckEditorInsertTableComponent.js +1 -1
  58. package/cypress/pages/components/ckEditorToolbar.js +1 -1
  59. package/cypress/pages/components/equationEditorSectionCommonComponent.js +2 -2
  60. package/cypress/pages/components/fillInTheGapsDropdownCommonComponent.js +11 -0
  61. package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +11 -0
  62. package/cypress/pages/components/gridQuestionCommonComponent.js +3 -4
  63. package/cypress/pages/components/imageCanvasComponent.js +2 -0
  64. package/cypress/pages/components/layoutSectionComponent.js +1 -1
  65. package/cypress/pages/components/maximumCapacityPerDropzoneComponent.js +1 -1
  66. package/cypress/pages/components/numberLineCommonComponent.js +3 -3
  67. package/cypress/pages/createItemPage.js +0 -7
  68. package/cypress/pages/dragAndDropIntoCategoriesPage.js +32 -0
  69. package/cypress/pages/drawingResponsePage.js +13 -3
  70. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +6 -5
  71. package/cypress/pages/fillInTheGapsOverImageTextPage.js +14 -4
  72. package/cypress/pages/graphingPage.js +12 -12
  73. package/cypress/pages/matchingPage.js +3 -3
  74. package/cypress/pages/multipleSelectionGridPage.js +4 -5
  75. package/cypress/pages/multipleSelectionPage.js +4 -6
  76. package/cypress/pages/shortTextResponsePage.js +20 -2
  77. package/cypress/pages/singleSelectionPage.js +2 -3
  78. package/cypress/pages/textEntryMathPage.js +13 -2
  79. package/cypress/pages/textEntryMathWithImagePage.js +2 -2
  80. package/cypress/pages/uploadResponsePage.js +2 -2
  81. package/package.json +1 -1
  82. package/cypress/e2e/ILC/ThinkSphere/dummyTest.js +0 -17
@@ -1,8 +1,10 @@
1
- import { dialogBoxBase } from "../../../pages";
1
+ import { dialogBoxBase, itemPreviewPage } from "../../../pages";
2
+ import { browseItemsPage, commonComponents } from "../../../pages/components";
2
3
  import { singleSelectionPage } from "../../../pages/singleSelectionPage";
3
4
  import abortEarlySetup from "../../../support/helpers/abortEarly";
4
5
  import utilities from "../../../support/helpers/utilities";
5
6
  const options = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
7
+ var itemReferenceID = "";
6
8
 
7
9
  describe('Create Item page - Single Selection: Header section and Saving question', () => {
8
10
  before(() => {
@@ -40,26 +42,19 @@ describe('Create Item page - Single Selection: Header section and Saving questio
40
42
  before(() => {
41
43
  singleSelectionPage.steps.navigateToCreateQuestion('single selection');
42
44
  cy.barsPreLoaderWait();
43
- //Adding a temperory fix to wait for the options to load https://redmine.zeuslearning.com/issues/584236
44
- utilities.verifyElementCount(singleSelectionPage.optionWrapper(), 4);
45
- singleSelectionPage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
46
- singleSelectionPage.steps.clearQuestionInstructionsInputField();
47
45
  });
48
46
 
49
47
  describe('Validation error messages', () => {
50
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
48
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all option values', 'Please set points']);
51
49
 
52
50
  it('Validation error messages should be displayed below required input fields', () => {
53
51
  singleSelectionPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
54
- singleSelectionPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
55
- singleSelectionPage.steps.verifyOptionsInputFieldErrorMessage(0);
56
- singleSelectionPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
57
- singleSelectionPage.steps.verifySpecifyCorrectAnswerErrorMessage();
52
+ singleSelectionPage.steps.verifyWarningIconOnRequiredFields(['Please enter all option values', 'Please set points']);
58
53
  });
59
54
 
60
55
  it('Validation error messages should disappear when required input fields are filled', () => {
61
56
  singleSelectionPage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
62
- singleSelectionPage.steps.addInputToOptionsInputField(options)
57
+ singleSelectionPage.steps.addInputToOptionsInputField(options);
63
58
  singleSelectionPage.steps.allotPoints(10);
64
59
  singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(0);
65
60
  singleSelectionPage.steps.verifyErrorMessageIsNotDisplayed();
@@ -75,5 +70,35 @@ describe('Create Item page - Single Selection: Header section and Saving questio
75
70
  });
76
71
  singleSelectionPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
77
72
  });
73
+
74
+ describe('Saving a question with incomplete authoring', () => {
75
+ abortEarlySetup();
76
+ before(() => {
77
+ singleSelectionPage.steps.navigateToCreateQuestion('single selection');
78
+ cy.barsPreLoaderWait();
79
+ });
80
+
81
+ it('User should be able save the question with incomplete authoring and snackbar with the text "Saved successfully!" should be displayed', () => {
82
+ singleSelectionPage.steps.saveAQuestionWithIncompleteAuthoring();
83
+ });
84
+ singleSelectionPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
85
+ });
86
+ });
87
+
88
+ describe('Save as you go - Browse item page contents', () => {
89
+ abortEarlySetup();
90
+ before(() => {
91
+ cy.log('Navigating to Single Selection question type');
92
+ singleSelectionPage.steps.navigateToCreateQuestion('single selection');
93
+ cy.barsPreLoaderWait();
94
+ singleSelectionPage.steps.saveAQuestionWithIncompleteAuthoring();
95
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
96
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
97
+ browseItemsPage.steps.navigateToBrowseItemsPage();
98
+ });
99
+
100
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
101
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
102
+ });
78
103
  });
79
104
  });
@@ -0,0 +1,92 @@
1
+
2
+ import { itemPreviewPage, studentViewPage, singleSelectionPage } from "../../../pages";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+ const css = Cypress.env('css');
6
+ let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view', 'Grading view', 'Correct answer view'];
7
+ const views = utilities.getViews(previewContentViews);
8
+ var itemReferenceID = "";
9
+ const options = ['Pollution caused by treating chemical waste', 'Pollution caused by cement production', 'Pollution caused by methane production', 'Pollution caused by cement and methane production'];
10
+
11
+ describe('Create item page - Single selection: Preview contents', () => {
12
+ before(() => {
13
+ cy.loginAs('admin');
14
+ });
15
+ views.forEach((view) => {
16
+ describe(`Preview tab save as you go contents - ${view}`, { tags: 'smoke' }, () => {
17
+ abortEarlySetup();
18
+ before(() => {
19
+ switch (view) {
20
+ case 'Question preview':
21
+ singleSelectionPage.steps.navigateToCreateQuestion('single selection');
22
+ cy.barsPreLoaderWait();
23
+ break;
24
+ case 'Item view':
25
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
26
+ break;
27
+ case 'Item preview':
28
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
29
+ singleSelectionPage.steps.switchToPreviewTab();
30
+ break;
31
+ case 'Student view':
32
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
33
+ break;
34
+ case 'Grading view':
35
+ cy.visit(`/item-engine/demo/render-item/grading-view/${utilities.base64Encoding(itemReferenceID)}`);
36
+ break;
37
+ case 'Correct answer view':
38
+ cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
39
+ break;
40
+ default:
41
+ throw new Error('Invalid view');
42
+ }
43
+ });
44
+
45
+ after(() => {
46
+ if (view === 'Question preview') {
47
+ singleSelectionPage.steps.saveAQuestionWithIncompleteAuthoring();
48
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
49
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
50
+ }
51
+ if (view === 'Student view') {
52
+ studentViewPage.steps.submitResponse();
53
+ utilities.verifyElementVisibilityState(studentViewPage.buttonGoToGradingView(), 'visible');
54
+ }
55
+ });
56
+ if (view === 'Item view') {
57
+ it('Warning icon should be visible', () => {
58
+ utilities.verifyElementVisibilityState(singleSelectionPage.warningIcon(), 'visible');
59
+ });
60
+ }
61
+ else if (view !== 'Grading view' && view !== 'Correct answer view') {
62
+ it(`All the options should be in unchecked state`, () => {
63
+ for (let index = 0; index < 4; index++) {
64
+ singleSelectionPage.steps.verifyOptionInPreviewTabUncheckedState(index);
65
+ };
66
+ });
67
+
68
+ it(`User should able to select options in the ${view}`, () => {
69
+ singleSelectionPage.steps.checkOptionInPreviewTab(1);
70
+ singleSelectionPage.steps.verifyOptionInPreviewTabCheckedState(1);
71
+ });
72
+ } else if (view === 'Grading view') {
73
+ it(`The submitted/correct options should be in checked state and they should not be editable`, () => {
74
+ singleSelectionPage.steps.verifyOptionInPreviewTabCheckedState(1);
75
+ singleSelectionPage.steps.verifyOptionInPreviewTabUncheckedState(0);
76
+ singleSelectionPage.steps.verifyOptionInPreviewTabUncheckedState(2);
77
+ singleSelectionPage.steps.verifyOptionInPreviewTabUncheckedState(3);
78
+ options.forEach((options, index) => {
79
+ singleSelectionPage.steps.verifyOptionRadioButtonIsDisabled(index)
80
+ });
81
+ });
82
+ } else {
83
+ it(`The correct options should have correct icons besides them`, () => {
84
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(0);
85
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(1);
86
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(2);
87
+ singleSelectionPage.steps.verifyCorrectIncorrectIconNotVisibleGradingView(3);
88
+ });
89
+ }
90
+ });
91
+ })
92
+ })
@@ -18,9 +18,8 @@ describe('Create item page - Single selection grid : Partial equal weights for b
18
18
  singleSelectionGridPage.steps.switchToPreviewTab();
19
19
  });
20
20
 
21
- it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
21
+ it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed', () => {
22
22
  singleSelectionGridPage.steps.switchToGradingView();
23
- singleSelectionGridPage.steps.verifyPreviewScore(0, 24);
24
23
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
25
24
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
26
25
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
@@ -30,15 +29,12 @@ describe('Create item page - Single selection grid : Partial equal weights for b
30
29
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
31
30
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
32
31
  singleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
33
- singleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
34
32
  });
35
33
 
36
- it('When the user has not set any answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, zero points should be allocated and correct answer section should be displayed', () => {
34
+ it('When the user has not set any answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses', () => {
37
35
  singleSelectionGridPage.steps.resetQuestionPreview();
38
36
  singleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
39
37
  singleSelectionGridPage.steps.switchToGradingView();
40
- singleSelectionGridPage.steps.verifyPreviewScore(0, 24);
41
- singleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
42
38
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
43
39
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
44
40
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
@@ -46,8 +42,6 @@ describe('Create item page - Single selection grid : Partial equal weights for b
46
42
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 1 });
47
43
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
48
44
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
49
- singleSelectionGridPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
50
- singleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
51
45
  });
52
46
 
53
47
  it('When the user sets an answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
@@ -55,7 +49,6 @@ describe('Create item page - Single selection grid : Partial equal weights for b
55
49
  singleSelectionGridPage.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }]);
56
50
  singleSelectionGridPage.steps.switchToPreviewTab();
57
51
  singleSelectionGridPage.steps.switchToGradingView();
58
- singleSelectionGridPage.steps.verifyPreviewScore(0, 24);
59
52
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
60
53
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
61
54
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
@@ -65,8 +58,6 @@ describe('Create item page - Single selection grid : Partial equal weights for b
65
58
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
66
59
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
67
60
  singleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
68
- singleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
69
- singleSelectionGridPage.steps.verifyCorrectAnswerResponses([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }]);
70
61
  });
71
62
 
72
63
  it('When the user has set an answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, zero points should be allocated and correct answer section should be displayed', () => {
@@ -169,9 +160,8 @@ describe('Create item page - Single selection grid : Partial equal weights for b
169
160
  singleSelectionGridPage.steps.switchToPreviewTab();
170
161
  });
171
162
 
172
- it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
163
+ it('When the user has not set any answer in the \'Specify correct answer\' section and switches to the \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed', () => {
173
164
  singleSelectionGridPage.steps.switchToGradingView();
174
- singleSelectionGridPage.steps.verifyPreviewScore(0, 24);
175
165
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 1, column: 0 });
176
166
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
177
167
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
@@ -181,15 +171,12 @@ describe('Create item page - Single selection grid : Partial equal weights for b
181
171
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
182
172
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
183
173
  singleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
184
- singleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
185
174
  });
186
175
 
187
- it('When the user has not set any answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, incorrect icons should be displayed beside incorrect cell, points should be allocated for the blank rows, correct/incorrect status message should not be displayed and correct answer section should be displayed', () => {
176
+ it('When the user has not set any answer in the \'Specify correct answer\' section and selects incorrect cell in the preview tab then no icon should be displayed beside the empty responses, correct/incorrect status message should not be displayed', () => {
188
177
  singleSelectionGridPage.steps.resetQuestionPreview();
189
178
  singleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }]);
190
179
  singleSelectionGridPage.steps.switchToGradingView();
191
- singleSelectionGridPage.steps.verifyPreviewScore(18, 24);
192
- singleSelectionGridPage.steps.verifyIncorrectOptionBackgroundAndIcon({ row: 1, column: 0 });
193
180
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 2, column: 0 });
194
181
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 0 });
195
182
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 0 });
@@ -198,7 +185,6 @@ describe('Create item page - Single selection grid : Partial equal weights for b
198
185
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 3, column: 1 });
199
186
  singleSelectionGridPage.steps.verifyCorrectIncorrectIconNotExists({ row: 4, column: 1 });
200
187
  singleSelectionGridPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
201
- singleSelectionGridPage.steps.verifyBlankAnswerResponseCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 3, column: 1 }, { row: 4, column: 0 }, { row: 4, column: 1 }]);
202
188
  });
203
189
 
204
190
  it('When the user sets an answer in the \'Specify correct answer\' section then on switching to \'Grading\' view without attempting the question, correct/incorrect status message should not be displayed, correct answers section with a label \'Correct answers\' should be displayed with correct answers', () => {
@@ -0,0 +1,79 @@
1
+ import { singleSelectionGridPage } from "../../../../pages";
2
+ import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+
4
+ describe('Create Item page - Single selection grid', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Question Preview: Auto Scored With Points - Save as you go', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
13
+ cy.barsPreLoaderWait();
14
+ singleSelectionGridPage.steps.switchToPreviewTab();
15
+ });
16
+
17
+ it('In Preview tab, when an answer is not set then manually scored scoring label should be displayed', () => {
18
+ singleSelectionGridPage.steps.checkManuallyScoredScoringLabel();
19
+ });
20
+
21
+ it('In Preview tab, when user switches to grading view then no banner and correct Answer should be displayed', () => {
22
+ singleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }]);
23
+ singleSelectionGridPage.steps.switchToGradingView();
24
+ singleSelectionGridPage.steps.verifyAnswerStatusBannerNotExist();
25
+ singleSelectionGridPage.steps.verifyCorrectAnswerSectionNotExist();
26
+ })
27
+
28
+ it('When user allocates points to the question then the scoring label should be displayed as Manually scored and banner and correct answer status should not exist', () => {
29
+ singleSelectionGridPage.steps.switchToEditTab();
30
+ singleSelectionGridPage.steps.allotPoints(2);
31
+ singleSelectionGridPage.steps.switchToPreviewTab();
32
+ singleSelectionGridPage.steps.checkManuallyScoredScoringLabel();
33
+ singleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }]);
34
+ singleSelectionGridPage.steps.switchToGradingView();
35
+ singleSelectionGridPage.steps.verifyAnswerStatusBannerNotExist();
36
+ singleSelectionGridPage.steps.verifyCorrectAnswerSectionNotExist();
37
+ })
38
+
39
+ });
40
+
41
+ describe('Question Preview: Auto Scored Without Points - Save as you go', () => {
42
+ abortEarlySetup();
43
+ before(() => {
44
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
45
+ cy.barsPreLoaderWait();
46
+ singleSelectionGridPage.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }]);
47
+ singleSelectionGridPage.steps.switchToPreviewTab();
48
+ });
49
+
50
+ it('In Preview tab, when points are not set then manually scored scoring label should be displayed', () => {
51
+ singleSelectionGridPage.steps.checkManuallyScoredScoringLabel();
52
+ });
53
+
54
+ it('In Preview tab, when user switches to grading view then banner and correct Answer should be displayed', () => {
55
+ singleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 1 }]);
56
+ singleSelectionGridPage.steps.switchToGradingView();
57
+ singleSelectionGridPage.steps.verifyAnswerStatusBannerExist();
58
+ singleSelectionGridPage.steps.verifyCorrectAnswerSectionExist();
59
+ })
60
+ });
61
+
62
+ describe('Question Preview: Non Scored - Save as you go', () => {
63
+ abortEarlySetup();
64
+ before(() => {
65
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
66
+ cy.barsPreLoaderWait();
67
+ });
68
+
69
+ it('When the user selects \'Grading\' view without setting the answer, correct answers section and answer status banner should not be displayed', () => {
70
+ singleSelectionGridPage.steps.expandScoringTypeDropdown();
71
+ singleSelectionGridPage.steps.selectOptionFromScoringTypeDropdown('Non scored');
72
+ singleSelectionGridPage.steps.switchToPreviewTab();
73
+ singleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 0 }, { row: 2, column: 1 }]);
74
+ singleSelectionGridPage.steps.switchToGradingView();
75
+ singleSelectionGridPage.steps.verifyAnswerStatusBannerNotExist();
76
+ singleSelectionGridPage.steps.verifyCorrectAnswerSectionNotExist();
77
+ });
78
+ });
79
+ });
@@ -0,0 +1,35 @@
1
+ import { singleSelectionGridPage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+
4
+ describe('Create question page - Single selection grid', () => {
5
+ before(() => {
6
+ cy.loginAs('admin');
7
+ });
8
+
9
+ describe('Check Alternative Answer Button', () => {
10
+ abortEarlySetup();
11
+ before(() => {
12
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
13
+ cy.barsPreLoaderWait();
14
+ singleSelectionGridPage.steps.addTextInQuestionInstructionsInputField('Please select following animals facts are correct or not')
15
+ singleSelectionGridPage.steps.setRowsAndColumnsForBasicQuestion();
16
+ singleSelectionGridPage.steps.enterTextInCellPropertyInputField({ row: 3, column: 0 }, 'Whale are mammals');
17
+ singleSelectionGridPage.steps.enterTextInCellPropertyInputField({ row: 4, column: 0 }, 'Tigers can jump upto 3 metres');
18
+ });
19
+
20
+ it('When correct answer is not set then alternative answer should be disabled', () => {
21
+ singleSelectionGridPage.steps.checkAlternativeButtonDisabled();
22
+ });
23
+
24
+ it('When correct answer is set then alternative answer should be enabled', () => {
25
+ singleSelectionGridPage.steps.allotPoints(20);
26
+ singleSelectionGridPage.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 1, column: 1 }, { row: 2, column: 0 }, { row: 3, column: 0 }, { row: 4, column: 0 }]);
27
+ singleSelectionGridPage.steps.checkAlternativeButtonEnabled();
28
+ });
29
+
30
+ it('User should be able to add \'Alternative\' answer using the \'Add alternative\' button, when user has not set any answer in the \'Alternative\' accordion and clicks on the \'Correct\' accordion then \'Correct\' accordion should be expanded', () => {
31
+ singleSelectionGridPage.steps.clickOnAddAlternativeAnswerButton();
32
+ singleSelectionGridPage.steps.expandCorrectAnswerAccordion();
33
+ });
34
+ });
35
+ });
@@ -1012,4 +1012,38 @@ describe('Create item page - Single selection grid: Question instructions, Speci
1012
1012
  singleSelectionGridPage.steps.verifyTextInGridCellPreviewTab({ row: 2, column: 1 }, 'No radio button');
1013
1013
  });
1014
1014
  });
1015
+
1016
+ describe('User should be able to edit incomplete authored question', () => {
1017
+ abortEarlySetup();
1018
+ before(() => {
1019
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
1020
+ cy.barsPreLoaderWait();
1021
+ singleSelectionGridPage.steps.saveAQuestionWithIncompleteAuthoring();
1022
+ singleSelectionGridPage.steps.editItem();
1023
+ });
1024
+
1025
+ it('Warning icons should be displayed on the required input fields', () => {
1026
+ singleSelectionGridPage.steps.verifyWarningIconOnRequiredFields(['Please enter all questions', 'Please set points']);
1027
+ });
1028
+
1029
+ it('Warning icons should disappear when required input fields are filled', () => {
1030
+ singleSelectionGridPage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
1031
+ singleSelectionGridPage.steps.enterTextInCellPropertyInputField({ row: 1, column: 0 }, 'Pollution caused by treating chemical waste');
1032
+ singleSelectionGridPage.steps.enterTextInCellPropertyInputField({ row: 2, column: 0 }, 'Pollution caused by cement production');
1033
+ singleSelectionGridPage.steps.enterTextInCellPropertyInputField({ row: 3, column: 0 }, 'Pollution caused by methane production');
1034
+ singleSelectionGridPage.steps.enterTextInCellPropertyInputField({ row: 4, column: 0 }, 'Pollution caused by cement and methane production');
1035
+ singleSelectionGridPage.steps.allotPoints(10);
1036
+ singleSelectionGridPage.steps.setAnswersForAllQuestionStemsInSpecifyCorrectAnswerSection([{ row: 1, column: 0 }, { row: 2, column: 1 }, { row: 3, column: 0 }, { row: 4, column: 1 }]);
1037
+ singleSelectionGridPage.steps.verifyErrorMessageIsNotDisplayed();
1038
+ singleSelectionGridPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
1039
+ });
1040
+
1041
+ it('Clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
1042
+ singleSelectionGridPage.steps.saveAQuestionAndVerifySnackbar();
1043
+ });
1044
+
1045
+ it('Warning icon should not be visible', () => {
1046
+ utilities.verifyElementVisibilityState(singleSelectionGridPage.warningIcon(), 'notExist');
1047
+ });
1048
+ });
1015
1049
  });
@@ -1,6 +1,8 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { dialogBoxBase, singleSelectionGridPage } from "../../../pages";
2
+ import { dialogBoxBase, itemPreviewPage, singleSelectionGridPage } from "../../../pages";
3
3
  import utilities from "../../../support/helpers/utilities";
4
+ import { browseItemsPage, commonComponents } from "../../../pages/components";
5
+ var itemReferenceID = ""
4
6
 
5
7
  describe('Create item page - Single selection grid: Header section and Saving question', () => {
6
8
  before(() => {
@@ -42,18 +44,11 @@ describe('Create item page - Single selection grid: Header section and Saving qu
42
44
  });
43
45
 
44
46
  describe('Validation error messages', () => {
45
- dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
47
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all questions in the grid', 'Please set points']);
46
48
 
47
49
  it('Validation error messages should be displayed below required input fields', () => {
48
50
  singleSelectionGridPage.steps.verifyQuestionInstructionsErrorMessageIsNotDisplayed();
49
- singleSelectionGridPage.steps.verifyPointsFieldErrorMessageIsNotDisplayed();
50
- utilities.verifyInnerText(utilities.getNthElement(singleSelectionGridPage.errorMessage(), 0), 'Error: Please enter some text.');
51
- utilities.verifyInnerText(utilities.getNthElement(singleSelectionGridPage.errorMessage(), 1), 'Error: Please set a correct answer.');
52
- for (let index = 1; index < 4; index++) {
53
- singleSelectionGridPage.steps.verifyErrorIconInSpecifyColumnsAndRowsGrid(index);
54
- }
55
- singleSelectionGridPage.steps.verifySpecifyCorrectAnswerErrorIconIsVisible();
56
- singleSelectionGridPage.steps.verifySpecifyCorrectAnswerErrorMessage();
51
+ singleSelectionGridPage.steps.verifyWarningIconOnRequiredFields(['Please enter all questions in the grid', 'Please set points']);
57
52
  });
58
53
 
59
54
  it('Validation error messages should disappear when required input fields are filled', () => {
@@ -67,6 +62,7 @@ describe('Create item page - Single selection grid: Header section and Saving qu
67
62
  }
68
63
  singleSelectionGridPage.steps.verifyErrorMessageIsNotDisplayed();
69
64
  singleSelectionGridPage.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
65
+ singleSelectionGridPage.steps.verifyPointsWarningIconNotExists();
70
66
  });
71
67
 
72
68
  singleSelectionGridPage.tests.verifyCreateItemWrapperContentsA11y();
@@ -79,5 +75,36 @@ describe('Create item page - Single selection grid: Header section and Saving qu
79
75
 
80
76
  singleSelectionGridPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
81
77
  });
78
+
79
+
80
+ describe('Saving a question with incomplete authoring', () => {
81
+ abortEarlySetup();
82
+ before(() => {
83
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
84
+ cy.barsPreLoaderWait();
85
+ });
86
+
87
+ it('Should save the question with incomplete authoring and display a snackbar with the text "Saved successfully!" when the Save Question button is clicked', () => {
88
+ dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton(['Please enter all questions in the grid', 'Please set points']);
89
+ singleSelectionGridPage.steps.saveAQuestionWithIncompleteAuthoring();
90
+ });
91
+ singleSelectionGridPage.tests.verifySavedSuccessfullySnackbarCSSAndA11y();
92
+ });
93
+
94
+ describe('Save as you go - Browse item page contents', () => {
95
+ abortEarlySetup();
96
+ before(() => {
97
+ singleSelectionGridPage.steps.navigateToCreateQuestion('multiple selection');
98
+ cy.barsPreLoaderWait();
99
+ singleSelectionGridPage.steps.saveAQuestionWithIncompleteAuthoring();
100
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
101
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
102
+ browseItemsPage.steps.navigateToBrowseItemsPage();
103
+ });
104
+
105
+ it('When user saves an incompletely authored question then a warning icon should be visible in browse items page', () => {
106
+ browseItemsPage.steps.verifyWarningIconInBrowseItemPage(`${itemReferenceID}`);
107
+ });
108
+ });
82
109
  });
83
110
  });
@@ -0,0 +1,69 @@
1
+ import { singleSelectionGridPage, itemPreviewPage, studentViewPage } from "../../../pages";
2
+ import { ckEditorToolbar, equationEditorFlyout } from "../../../pages/components";
3
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
4
+ import utilities from "../../../support/helpers/utilities";
5
+ const css = Cypress.env('css');
6
+ let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view', 'Grading view', 'Correct answer view'];
7
+ const views = utilities.getViews(previewContentViews);
8
+ var itemReferenceID = "";
9
+ describe('Create item page - Single selection grid: Preview contents', () => {
10
+ before(() => {
11
+ cy.loginAs('admin');
12
+ });
13
+
14
+ views.forEach((view) => {
15
+ describe(`Preview tab contents when authoring is incomplete - ${view}`, { tags: 'smoke' }, () => {
16
+ abortEarlySetup();
17
+ before(() => {
18
+ switch (view) {
19
+ case 'Question preview':
20
+ singleSelectionGridPage.steps.navigateToCreateQuestion('single selection grid');
21
+ cy.barsPreLoaderWait();
22
+ singleSelectionGridPage.steps.modifyTableCellPropertyForOptionCells({ row: 1, column: 1 }, 'Radio button with text');
23
+ break;
24
+ case 'Item view':
25
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
26
+ break;
27
+ case 'Item preview':
28
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
29
+ singleSelectionGridPage.steps.switchToPreviewTab();
30
+ break;
31
+ case 'Student view':
32
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
33
+ break;
34
+ case 'Grading view':
35
+ cy.visit(`/item-engine/demo/render-item/grading-view/${utilities.base64Encoding(itemReferenceID)}`);
36
+ break;
37
+ case 'Correct answer view':
38
+ cy.visit(`/item-engine/demo/render-item/correct-answer-view/${utilities.base64Encoding(itemReferenceID)}`);
39
+ break;
40
+ default:
41
+ throw new Error('Invalid view');
42
+ }
43
+ });
44
+
45
+ after(() => {
46
+ if (view === 'Question preview') {
47
+ singleSelectionGridPage.steps.saveAQuestionWithIncompleteAuthoring();
48
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
49
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
50
+ }
51
+ if (view === 'Student view') {
52
+ studentViewPage.steps.submitResponse();
53
+ utilities.verifyElementVisibilityState(studentViewPage.buttonGoToGradingView(), 'visible');
54
+ }
55
+ });
56
+
57
+ if (view === 'Item view') {
58
+ it('Warning icon should be visible', () => {
59
+ utilities.verifyElementVisibilityState(singleSelectionGridPage.warningIcon(), 'visible');
60
+ });
61
+ }
62
+
63
+ it(`The question grid as set by the user should be displayed in the ${view}`, () => {
64
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 0, column: 0 }, 'None');
65
+ singleSelectionGridPage.steps.verifyTableCellPropertyPreviewTab({ row: 1, column: 1 }, 'Radio button with text');
66
+ });
67
+ });
68
+ });
69
+ });
@@ -96,7 +96,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
96
96
  });
97
97
  };
98
98
 
99
- it('When the user selects \'Grading\' view without attempting the question, correct/incorrect icons should not be displayed correct answers section should be displayed with the correct answers, correct answer label and border should not be displayed', () => {
99
+ it(`When the user selects 'Grading' view without attempting the question, correct/incorrect icons should not be displayed correct answers section should be displayed with the correct answers, correct answer label and border should not be displayed`, () => {
100
100
  if (view === 'Grading view') {
101
101
  studentViewPage.steps.submitResponse();
102
102
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -117,7 +117,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
117
117
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
118
118
  });
119
119
 
120
- 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, and \'Your answer is incorrect\' label should be displayed', () => {
120
+ 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, and 'Your answer is incorrect' label should be displayed`, () => {
121
121
  textEntryMathPage.steps.focusInResponseAnswerInputFieldFormulaTemplatePreviewTab(0);
122
122
  equationEditorFlyout.steps.enterTextInPreviewInputField('Incorrect answer 1');
123
123
  equationEditorFlyout.steps.clickOnOkButton();
@@ -153,7 +153,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
153
153
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
154
154
  });
155
155
 
156
- it('When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icons should be displayed besides the correct responses, incorrect icons should be displayed beside the incorrect responses, and \'Your answer is incorrect\' label should be displayed', () => {
156
+ it(`When the user attempts the question partially correct, then the user should be awarded 0 points and on switching to 'Grading' view, correct icons should be displayed besides the correct responses, incorrect icons should be displayed beside the incorrect responses, and 'Your answer is incorrect' label should be displayed`, () => {
157
157
  if (view === 'Grading view') {
158
158
  studentViewPage.steps.clearResponses();
159
159
  }
@@ -192,7 +192,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
192
192
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
193
193
  });
194
194
 
195
- it('When the user attempts the question partially correct with a incomplete response, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icons should be displayed besides the correct responses and unattempted correct options, no icon should be displayed beside unattempted response, \'Your answer is incorrect\' should be displayed', () => {
195
+ it(`When the user attempts the question partially correct with a incomplete response, then the user should be awarded 0 points and on switching to 'Grading' view, correct icons should be displayed besides the correct responses and unattempted correct options, no icon should be displayed beside unattempted response, 'Your answer is incorrect' should be displayed`, () => {
196
196
  if (view === 'Grading view') {
197
197
  studentViewPage.steps.clearResponses();
198
198
  }
@@ -228,7 +228,7 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
228
228
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
229
229
  });
230
230
 
231
- 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, and \'Your answer is correct\' should be displayed', () => {
231
+ 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, and 'Your answer is correct' should be displayed`, () => {
232
232
  if (view === 'Grading view') {
233
233
  studentViewPage.steps.clearResponses();
234
234
  }
@@ -267,5 +267,4 @@ describe('Create Item page - Text entry math: All or nothing ', () => {
267
267
  });
268
268
  });
269
269
  });
270
-
271
270
  });
@@ -475,7 +475,7 @@ describe('Create Item page - Text entry math: Evaluation methods - Custom settin
475
475
  it('When user checks \'Interpret i as imaginary\' checkbox user attempts the question with same equation then the answer should be treated as correct', () => {
476
476
  textEntryMathPage.steps.switchToEditTab();
477
477
  textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
478
- textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
478
+ //textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
479
479
  textEntryMathPage.steps.clickOnCustomSettingsAccordion();
480
480
  textEntryMathPage.steps.checkCustomSettingsCheckbox('Interpret i as imaginary');
481
481
  textEntryMathPage.steps.switchToPreviewTab();