itemengine-cypress-automation 1.0.232-updatePackage-0fbfb66.0 → 1.0.235

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. package/cypress/e2e/ILC/ChartsBar/additionalSettings.js +4 -4
  2. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +2 -2
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perCorrectOptionCorrectPointsEqualToAlternativePoints.js +1 -0
  4. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsEqualToAlternativePoints.js +6 -6
  5. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/perDropzoneCorrectPointsGreaterThanAlternativePoints.js +2 -2
  6. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +4 -2
  7. package/cypress/e2e/ILC/EssayResponse/createCustomCategory.smoke.js +3 -2
  8. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneSettings.js +8 -4
  9. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/Scoring/partialEqualWeightsWithCorrectPointsGreaterThanAlternativePoints.js +1 -1
  10. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +1 -1
  11. package/cypress/e2e/ILC/GridFill/customizeLayoutSectionShadeCellsGridBorders.js +1 -0
  12. package/cypress/e2e/ILC/ListOrderingNew/minimumScoringPenaltyPointsAndRoundingDropdown.js +1 -1
  13. package/cypress/e2e/ILC/Matching/Scoring/allOrNothingWithCorrectPointsEqualToAlternativePoints.js +1 -0
  14. package/cypress/e2e/ILC/MultipleSelectionGridNew/Scoring/partialDifferentWeightsMinimumAndPenaltyScoring.js +1 -1
  15. package/cypress/e2e/ILC/ShortTextResponseNew/editTabBasicSections.js +12 -1
  16. package/cypress/e2e/ILC/SingleSelectionGridNew/additionalSettings.js +4 -2
  17. package/cypress/e2e/ILC/TextEntryMath/evaluationMethodsWithoutSetResponse.js +14 -7
  18. package/cypress/e2e/ILC/TextEntryMathWithImage/backgroundImageAndCanvasProperties.js +2 -2
  19. package/cypress/e2e/ILC/TextSelection/Scoring/partialDifferentWeightsBasic.js +6 -6
  20. package/cypress/e2e/ILC/TextSelection/additionalSettings.js +2 -2
  21. package/cypress/e2e/ILC/TextSelection/previewContentsForAllViews.smoke.js +1 -1
  22. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +2 -2
  23. package/cypress/pages/chartsBarPage.js +1 -0
  24. package/cypress/pages/chartsDotPlotPage.js +2 -0
  25. package/cypress/pages/chartsLinePage.js +11 -0
  26. package/cypress/pages/components/additionalSettingsPanel.js +3 -1
  27. package/cypress/pages/components/commonComponents.js +21 -1
  28. package/cypress/pages/components/createCustomCategoryFlyout.js +17 -8
  29. package/cypress/pages/components/draggableOptionsStyleAndLayoutComponent.js +1 -1
  30. package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +1 -1
  31. package/cypress/pages/components/gridQuestionCommonComponent.js +2 -1
  32. package/cypress/pages/gridFillPage.js +1 -1
  33. package/cypress/pages/numberLineLabelPage.js +2 -1
  34. package/cypress/pages/shortTextResponsePage.js +2 -0
  35. package/cypress/pages/textEntryMathPage.js +6 -1
  36. package/cypress/pages/textEntryMathWithImagePage.js +22 -19
  37. package/cypress/pages/textSelectionPage.js +18 -0
  38. package/package.json +2 -2
  39. package/scripts/sorry-cypress.mjs +2 -2
  40. /package/cypress/e2e/ILC/NumberLineLabel/verticalNumberLine/{checkAnswerFunctionalityForAllViews.smoke.js → checkAnswerFunctionalityForAllViews.js} +0 -0
@@ -30,8 +30,8 @@ describe('Create Item page : Charts - Line : Additional settings', () => {
30
30
 
31
31
  chartsBarPage.tests.verifyFontSizeSectionContents();
32
32
  });
33
-
34
- describe('Additional settings: Font size - Select chart type and Specify correct answer section', () => {
33
+ //Remove the skip once https://redmine.zeuslearning.com/issues/577171 is resolved
34
+ describe.skip('Additional settings: Font size - Select chart type and Specify correct answer section', () => {
35
35
  abortEarlySetup();
36
36
  before(() => {
37
37
  chartsBarPage.steps.navigateToCreateQuestion('charts');
@@ -78,8 +78,8 @@ describe('Create Item page : Charts - Line : Additional settings', () => {
78
78
  });
79
79
  });
80
80
  });
81
-
82
- describe('Additional settings: Font size - preview tab', () => {
81
+ //Remove the skip once https://redmine.zeuslearning.com/issues/577171 is resolved
82
+ describe.skip('Additional settings: Font size - preview tab', () => {
83
83
  abortEarlySetup();
84
84
  before(() => {
85
85
  chartsBarPage.steps.navigateToCreateQuestion('charts');
@@ -101,8 +101,8 @@ describe('Create item page - Charts - Line: All or nothing ', () => {
101
101
  itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
102
102
  });
103
103
  };
104
-
105
- it('When the user selects \'Grading\' view without attempting the question, the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
104
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/577535, https://redmine.zeuslearning.com/issues/577716 is resolved
105
+ it.skip('When the user selects \'Grading\' view without attempting the question, the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
106
106
  if (view === 'Grading view') {
107
107
  studentViewPage.steps.submitResponse();
108
108
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -229,6 +229,7 @@ describe('Create item page - Drag and drop into categories: Per correct option w
229
229
  });
230
230
 
231
231
  it('When the user attempts the question partially correct with equal number of correct options exclusively from the alternative accordion and correct accordion in the different cell and on switching to \'Grading\' view, then correct icon should be displayed besides the correct accordion responses, incorrect icon should be displayed besides alternative accordion responses, correct/incorrect answer status message should not be displayed and the correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
232
+ dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
232
233
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Bat': 0, 'Octopus': 5 });
233
234
  dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(5, 30);
234
235
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
@@ -156,7 +156,7 @@ describe('Create item page - Drag and drop into categories: Per dropzone with al
156
156
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
157
157
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
158
158
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(1);
159
- dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectIconsForDropzone({ 'incorrect': 0, 'incorrect': 1, 'correct': 2, 'incorrect': 3, 'incorrect': 4, 'incorrect': 5 });
159
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectIconsForDropzone({ 'incorrect': 0, 'incorrect': 1, 'correct': 2, 'incorrect': 3, 'incorrect': 4, 'correct': 5 });
160
160
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
161
161
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Ostrich'], ['Whale']], ['1', '2', '3', '4', '5']);
162
162
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
@@ -190,7 +190,7 @@ describe('Create item page - Drag and drop into categories: Per dropzone with al
190
190
  it('When the user attempts the question partially correct such that equal number of dropzones are correct according to correct accordion and alternative accordion mappings and points achieved from the correct accordion mapping is equal to the points achieved from alternative accordion mapping, then the points achieved should be according to the correct accordion mapping and on switching to \'Grading\' view, correct icon should be displayed besides correct accordion responses, incorrect icon should be displayed besides alternative accordion responses, correct icon should be displayed for correct dropzone, incorrect icon should be displayed for incorrect dropzone. correct/incorrect answer status message and correct answer section with all correct answers from the correct accordion along with dropzone numeration should be displayed', () => {
191
191
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
192
192
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Flying squirrel': 0, 'Eagle': 1, 'Parrot': 1, 'Ostrich': 3 });
193
- dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(10, 30);
193
+ dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(15, 30);
194
194
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
195
195
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(0);
196
196
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
@@ -212,19 +212,19 @@ describe('Create item page - Drag and drop into categories: Per dropzone with al
212
212
  });
213
213
 
214
214
  //Failing due to https://redmine.zeuslearning.com/issues/556773
215
- it('When the user attempts the question such that more number of dropzones are correct as per the alternative accordion mapping than the correct accordion mapping and points achieved from the alternative accordion mapping is more than the points achieved from correct accordion mapping, then the points achieved should be according to the alternative accordion mapping and on switching to \'Grading\' view,, correct icon should be displayed besides alternative accordion responses, incorrect icon should be displayed besides the correct accordion responses, correct icon should be displayed for correct dropzone, incorrect icon should be displayed for incorrect dropzone. correct/incorrect answer status message should not be displayed and correct answer section with all correct answers from the correct accordion along with dropzone numeration should be displayed', () => {
215
+ it('When the user attempts the question such that more number of dropzones are correct as per the alternative accordion mapping than the correct accordion mapping and points achieved from the alternative accordion mapping is more than the points achieved from correct accordion mapping, then the points achieved should be according to the alternative accordion mapping and on switching to \'Grading\' view,, correct icon should be displayed besides alternative accordion responses, incorrect icon should be displayed besides the correct accordion responses, correct icon should be displayed for correct dropzone, incorrect icon should be displayed for incorrect dropzone. correct/incorrect answer status message should not be displayed and correct answer section with all correct answers from the alternate accordion along with dropzone numeration should be displayed', () => {
216
216
  dragAndDropIntoCategoriesPage.steps.resetQuestionPreview();
217
217
  dragAndDropIntoCategoriesPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Flying squirrel': 0, 'Eagle': 1, 'Parrot': 1, 'Platypus': 4, 'Octopus': 5 });
218
- dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(15, 30);
218
+ dragAndDropIntoCategoriesPage.steps.verifyPreviewScore(20, 30);
219
219
  dragAndDropIntoCategoriesPage.steps.switchToGradingView();
220
220
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
221
221
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
222
222
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(2);
223
- dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
224
223
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
224
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
225
225
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectIconsForDropzone({ 'correct': 0, 'incorrect': 1, 'correct': 2, 'incorrect': 3, 'correct': 4, 'correct': 5 });
226
226
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
227
- dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Ostrich'], ['Whale']], ['1', '2', '3', '4', '5']);
227
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Flying squirrel'], ['Eagle', 'Peacock'], ['Ostrich'], ['Platypus'], ['Octopus']], ['1', '2', '4', '5', '6']);
228
228
  dragAndDropIntoCategoriesPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
229
229
  /*cy.log('When the user has attempted the question such that more number of dropzones are correct as per the alternative accordion mapping than the correct accordion mapping and clicks on \'Check answer\' button, then correct icon should be displayed besides alternative accordion responses, incorrect icon should be displayed besides the correct accordion responses, correct icon should be displayed for correct dropzone, incorrect icon should be displayed for incorrect dropzone. correct/incorrect answer status message and correct answer section should not be displayed')
230
230
  dragAndDropIntoCategoriesPage.steps.checkAnswer();
@@ -222,8 +222,8 @@ describe('Create item page - Drag and drop into categories: Per dropzone with al
222
222
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(0);
223
223
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(1);
224
224
  dragAndDropIntoCategoriesPage.steps.verifyIncorrectOptionIcon(2);
225
- dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(2);
226
225
  dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(3);
226
+ dragAndDropIntoCategoriesPage.steps.verifyCorrectOptionIcon(4);
227
227
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectIconsForDropzone({ 'correct': 0, 'incorrect': 1, 'correct': 2, 'incorrect': 3, 'correct': 4, 'correct': 5 });
228
228
  dragAndDropIntoCategoriesPage.steps.verifyCorrectIncorrectStatusMessageNotExists();
229
229
  dragAndDropIntoCategoriesPage.steps.verifyCorrectAnswerResponsesInCorrectAnswerSectionAndCount([['Bat'], ['Eagle', 'Parrot'], ['Platypus'], ['Ostrich'], ['Whale']], ['1', '2', '3', '4', '5']);
@@ -245,7 +245,7 @@ describe('Create item page - Drag and drop into categories: Per dropzone with al
245
245
  dragAndDropIntoCategoriesPage.steps.switchToEditTab();
246
246
  dragAndDropIntoCategoriesPage.steps.expandCorrectAnswerAccordion();
247
247
  dragAndDropIntoCategoriesPage.steps.allotPoints(12);
248
- dragAndDropIntoCategoriesPage.steps.expandAlternativeAnswerAccordion(1);
248
+ dragAndDropIntoCategoriesPage.steps.expandAlternativeAnswerAccordion(-1);
249
249
  dragAndDropIntoCategoriesPage.steps.allotPoints(4);
250
250
  dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
251
251
 
@@ -47,14 +47,16 @@ describe('Create item page - Drag and drop into categories: Minimum scoring, Pen
47
47
 
48
48
  dragAndDropIntoCategoriesPage.tests.verifyPenaltyPointsErrorState();
49
49
 
50
- it('When the user selects \'Penalty points for each incorrect dropzone\' from the penalty scoring dropdown, a penalty points detail section with an empty input field and \'Penalty points for each incorrect dropzone\' label should be displayed', () => {
50
+ //need to remove comment once this https://redmine.zeuslearning.com/issues/578881 is resolved
51
+ it.skip('When the user selects \'Penalty points for each incorrect dropzone\' from the penalty scoring dropdown, a penalty points detail section with an empty input field and \'Penalty points for each incorrect dropzone\' label should be displayed', () => {
51
52
  dragAndDropIntoCategoriesPage.steps.expandPenaltyScoringDropdown();
52
53
  dragAndDropIntoCategoriesPage.steps.selectOptionFromPenaltyScoringDropdown(penaltyPerDropzoneScoringTypeArray[2]);
53
54
  dragAndDropIntoCategoriesPage.steps.verifyPenaltyPointsForEachIncorrectDropzone('');
54
55
  utilities.verifyInnerText(dragAndDropIntoCategoriesPage.penaltyPointsForEachIncorrectOptionOrDropzoneLabel(), 'Penalty points for each incorrect dropzone');
55
56
  });
56
57
 
57
- it('User should be able to allot \'Penalty points for each incorrect dropzone\'', () => {
58
+ //need to remove comment once this https://redmine.zeuslearning.com/issues/578881 is resolved
59
+ it.skip('User should be able to allot \'Penalty points for each incorrect dropzone\'', () => {
58
60
  dragAndDropIntoCategoriesPage.steps.allotPenaltyPointsForEachIncorrectDropzone(5);
59
61
  });
60
62
 
@@ -287,7 +287,7 @@ describe('Create question page - Essay Response: Create custom category', () =>
287
287
  });
288
288
 
289
289
  it('When a user de-selects a symbol by clicking on it from the \'Selected symbols:\' section then the symbol should get deselected from the category as well as the \'Selected symbols:\' section', () => {
290
- createCustomCategoryFlyout.steps.deselectSymbolInSelectedSymbolsSection(`${equationEditorCategoriesAndSymbols.greek.symbols.varEpsilon.title}`);
290
+ createCustomCategoryFlyout.steps.deselectSymbolInSelectedSymbolsSection(`${equationEditorCategoriesAndSymbols.greek.symbols.varEpsilon.ariaLabel}`);
291
291
  createCustomCategoryFlyout.steps.verifySymbolIsNotSelectedInCreateCustomCategoryFlyout(`${equationEditorCategoriesAndSymbols['greek'].displayName}`, `${equationEditorCategoriesAndSymbols.greek.symbols.varEpsilon.ariaLabel}`);
292
292
  });
293
293
 
@@ -297,10 +297,11 @@ describe('Create question page - Essay Response: Create custom category', () =>
297
297
  createCustomCategoryFlyout.steps.clickOnCancelButton();
298
298
  createCustomCategoryFlyout.steps.openCreateCustomCategoryFlyout();
299
299
  createCustomCategoryFlyout.steps.checkCategoryAccordionCheckbox('Other Symbols');
300
+ createCustomCategoryFlyout.steps.expandCategoryAccordion('Other Symbols');
300
301
  otherSymbolsArray.forEach((symbol) => {
301
302
  createCustomCategoryFlyout.steps.deselectSymbolInSelectedSymbolsSection(symbol);
302
303
  });
303
- createCustomCategoryFlyout.steps.verifyUncheckedStateOfCategoryAccordionCheckbox(`${equationEditorCategoriesAndSymbols['otherSymbols'].displayName}`);
304
+ createCustomCategoryFlyout.steps.verifyUncheckedStateOfCategoryAccordionCheckbox('Other Symbols');
304
305
  });
305
306
  });
306
307
  }
@@ -27,14 +27,16 @@ describe('Create item page - Fill in the gaps with drag and drop: Dropzone setti
27
27
  utilities.verifyInnerText(fillInTheGapsDragAndDropPage.responseAreaSettingsWidthLabel(), 'Width (px)');
28
28
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.responseAreaSettingsWidthLabel(), 'visible');
29
29
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.responseAreaSettingsWidthInputField(), 'visible');
30
- fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsWidthInputFieldValue(160);
30
+ //need to remove comment after https://redmine.zeuslearning.com/issues/573051 is resolved
31
+ // fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsWidthInputFieldValue(160);
31
32
  utilities.verifyInnerText(fillInTheGapsDragAndDropPage.responseAreaSettingsHeightLabel(), 'Height (px)');
32
33
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.responseAreaSettingsHeightLabel(), 'visible');
33
34
  utilities.verifyElementVisibilityState(fillInTheGapsDragAndDropPage.responseAreaSettingsHeightInputField(), 'visible');
34
35
  fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsHeightInputFieldValue(54);
35
36
  });
36
37
 
37
- it('The minimum allowed value for \'Width (px)\' and \'Height (px)\' input fields should be \'80\' and \'32\' respectively', () => {
38
+ //need to remove skip after https://redmine.zeuslearning.com/issues/573051 is resolved
39
+ it.skip('The minimum allowed value for \'Width (px)\' and \'Height (px)\' input fields should be \'80\' and \'32\' respectively', () => {
38
40
  fillInTheGapsDragAndDropPage.steps.verifyMinimumValueOfWidthAndHeightInputFields();
39
41
  });
40
42
 
@@ -43,7 +45,8 @@ describe('Create item page - Fill in the gaps with drag and drop: Dropzone setti
43
45
  fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsWidthInputFieldValue(80);
44
46
  });
45
47
 
46
- it('When user gives an input lower than \'32\' in \'Height (px)\' input field, then the input field value should be automatically set to 32', () => {
48
+ //need to skip comment after https://redmine.zeuslearning.com/issues/573051 is resolved
49
+ it.skip('When user gives an input lower than \'32\' in \'Height (px)\' input field, then the input field value should be automatically set to 32', () => {
47
50
  fillInTheGapsDragAndDropPage.steps.addInputToHeightInputField(30);
48
51
  fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsHeightInputFieldValue(32);
49
52
  });
@@ -75,7 +78,8 @@ describe('Create item page - Fill in the gaps with drag and drop: Dropzone setti
75
78
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'notExist');
76
79
  cy.log('Reopening dropzone settings popup and verifying changes not retained');
77
80
  fillInTheGapsDragAndDropPage.steps.clickOnResponseAreaSettingsButton(0);
78
- fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsWidthInputFieldValue(160);
81
+ //need to remove comment after https://redmine.zeuslearning.com/issues/573051 is resolved
82
+ // fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsWidthInputFieldValue(160);
79
83
  fillInTheGapsDragAndDropPage.steps.verifyResponseAreaSettingsHeightInputFieldValue(54);
80
84
  fillInTheGapsDragAndDropPage.steps.verifyWordWrapCheckboxUnchecked();
81
85
  fillInTheGapsDragAndDropPage.steps.verifySetForAllDropzoneCheckboxChecked();
@@ -208,7 +208,7 @@ describe('Create item page - Fill in the gaps over image with drag and drop: Par
208
208
  fillInTheGapsOverImageDragAndDropPage.steps.allotPoints(23);
209
209
  fillInTheGapsOverImageDragAndDropPage.steps.switchToPreviewTab();
210
210
  fillInTheGapsOverImageDragAndDropPage.steps.clickAndDropOptionInDropzonePreviewTab({ 'Roots': 0, 'Stem': 1, 'Leaves': 2 });
211
- fillInTheGapsOverImageDragAndDropPage.steps.verifyPreviewScore(7.67, 23);
211
+ fillInTheGapsOverImageDragAndDropPage.steps.verifyPreviewScore(7.6667, 23);
212
212
  fillInTheGapsOverImageDragAndDropPage.steps.switchToGradingView();
213
213
  fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(0);
214
214
  fillInTheGapsOverImageDragAndDropPage.steps.verifyIncorrectOptionIcon(1);
@@ -38,7 +38,7 @@ describe('Create Item page - Fill in the gaps over image with text: Style and la
38
38
 
39
39
  fillInTheGapsOverImageTextPage.tests.verifyFillColorSectionContents();
40
40
 
41
- fillInTheGapsOverImageTextPage.tests.verifyBorderColorSectionContents();
41
+ fillInTheGapsOverImageTextPage.tests.verifyBorderColorSectiaonContents();
42
42
 
43
43
  fillInTheGapsOverImageTextPage.tests.verifyBorderStyleSectionContents('Dashed');
44
44
 
@@ -468,6 +468,7 @@ describe('Create item page - Grid fill: Customize layout section - \'Shade the c
468
468
  gridFillPage.steps.switchToEditTab();
469
469
  gridFillPage.steps.selectGridBordersToggleButton('None');
470
470
  gridFillPage.steps.switchToPreviewTab();
471
+ gridFillPage.steps.switchToStudentView();
471
472
  gridFillPage.steps.verifyCellBorderNotDisplayedForNoneToggleButtonInPreviewTab();
472
473
  });
473
474
 
@@ -64,7 +64,7 @@ describe('Create item page - List ordering: Minimum scoring, Penalty scoring, Ro
64
64
 
65
65
  it('When the user deletes an option, then \'points for each incorrect option\' should get updated accordingly', () => {
66
66
  listOrderingPage.steps.deleteOption(0);
67
- listOrderingPage.steps.verifyPenaltyPointsForEachIncorrectOption(1.67);
67
+ listOrderingPage.steps.verifyPenaltyPointsForEachIncorrectOption(1.6667);
68
68
  });
69
69
 
70
70
  it('When the user adds a new option, then \'points for each incorrect option\' should get updated accordingly', () => {
@@ -116,6 +116,7 @@ describe('Create item page - Matching: All or nothing with alternative answers',
116
116
  matchingPage.steps.verifyCorrectAnswerSectionNotExists();*/
117
117
  });
118
118
 
119
+ //Failing due to https://redmine.zeuslearning.com/issues/579028
119
120
  it('When the user attempts the question partially correct with all the responses correct as per the alternative accordion but one response incomplete, then the user should be awarded 0 points and on switching to \'Grading\' view, correct icon should be displayed besides the response from the correct accordion and alternative accordion and no icon should be displayed beside unattempted response, a status message with text \'Your answer is incorrect\' and correct answer section with all correct answers from the correct accordion along with dropzone cell numeration should be displayed', () => {
120
121
  matchingPage.steps.resetQuestionPreview();
121
122
  matchingPage.steps.clickAndDropOptionInDropzonePreviewTab([{ optionText: 'Bear', dropzoneIndex: 0 }, { optionText: 'Cat', dropzoneIndex: 2 }]);
@@ -210,7 +210,7 @@ describe('Create item page - Multiple selection grid: Partial different weights'
210
210
  multipleSelectionGridPage.steps.allotTotalPenaltyPoints(4);
211
211
  multipleSelectionGridPage.steps.switchToPreviewTab();
212
212
  multipleSelectionGridPage.steps.selectOptionsForAllQuestionStemsInPreviewTab([{ row: 1, column: 1 }, { row: 2, column: 0 }, { row: 3, column: 2 }]);
213
- multipleSelectionGridPage.steps.verifyPreviewScore(-4, 24);
213
+ multipleSelectionGridPage.steps.verifyPreviewScore(-3, 24);
214
214
  });
215
215
 
216
216
  it('When the user attempts the question correctly but with an incorrect row, then penalty points should get deducted from the awarded points', () => {
@@ -16,7 +16,18 @@ describe('Create question page - Short text response: Question Instructions, Set
16
16
  cy.barsPreLoaderWait();
17
17
  });
18
18
 
19
- shortTextResponsePage.tests.verifyQuestionInstructionsInputFieldEditTab();
19
+ it('When user has not entered any text in the Question instructions input field in the \'Edit\' tab then nothing should be displayed in the \'Preview\' tab', () => {
20
+ shortTextResponsePage.steps.switchToPreviewTab();
21
+ //Failing due to https://redmine.zeuslearning.com/issues/553382
22
+ utilities.verifyElementVisibilityState(shortTextResponsePage.questionInstructionsText(), 'notExist')
23
+ });
24
+
25
+ it('When the user specifies question instructions, then the added question instructions should be displayed in the \'Preview\' tab', () => {
26
+ shortTextResponsePage.steps.switchToEditTab();
27
+ shortTextResponsePage.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.');
28
+ shortTextResponsePage.steps.switchToPreviewTab();
29
+ utilities.verifyTextContent(utilities.getNthElement(shortTextResponsePage.questionInstructionsText(), 0), 'Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
30
+ });
20
31
  });
21
32
 
22
33
  describe('Question Instructions input field - Preview tab', () => {
@@ -71,7 +71,8 @@ describe('Multiple selection grid - Additional settings', () => {
71
71
  singleSelectionGridPage.steps.addInputToRowInputStepper(2);
72
72
  });
73
73
 
74
- singleSelectionGridPage.tests.verifyARIALabelContentsAndFunctionalityEditTab();
74
+ //need to remove skip after https://redmine.zeuslearning.com/issues/574176 is resolved
75
+ // singleSelectionGridPage.tests.verifyARIALabelContentsAndFunctionalityEditTab();
75
76
  });
76
77
 
77
78
  describe('Additional settings: ARIA label for row headers - functionality in preview tab', () => {
@@ -84,6 +85,7 @@ describe('Multiple selection grid - Additional settings', () => {
84
85
  singleSelectionGridPage.steps.switchToPreviewTab();
85
86
  });
86
87
 
87
- singleSelectionGridPage.tests.verifyARIALabelFunctionalityPreviewTab();
88
+ //need to remove skip after https://redmine.zeuslearning.com/issues/574176 is resolved
89
+ // singleSelectionGridPage.tests.verifyARIALabelFunctionalityPreviewTab();
88
90
  });
89
91
  });
@@ -106,7 +106,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
106
106
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
107
107
  });
108
108
 
109
- it('When the user attempts the question using correct greater than comparison for polynomials using parenthesis then it should be treated as correct', () => {
109
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
110
+ it.skip('When the user attempts the question using correct greater than comparison for polynomials using parenthesis then it should be treated as correct', () => {
110
111
  textEntryMathPage.steps.resetQuestionPreview();
111
112
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
112
113
  equationEditorFlyout.steps.enterTextInPreviewInputField('6i>i+2i');
@@ -126,7 +127,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
126
127
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
127
128
  });
128
129
 
129
- it('When the user attempts the question using correct equal to comparison for polynomials using parenthesis then it should be treated as correct', () => {
130
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
131
+ it.skip('When the user attempts the question using correct equal to comparison for polynomials using parenthesis then it should be treated as correct', () => {
130
132
  textEntryMathPage.steps.resetQuestionPreview();
131
133
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
132
134
  equationEditorFlyout.steps.enterTextInPreviewInputField('2(3x)y');
@@ -354,7 +356,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
354
356
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
355
357
  });
356
358
 
357
- it('When the user attempts the question using addition of matrices then it should be treated as correct', () => {
359
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
360
+ it.skip('When the user attempts the question using addition of matrices then it should be treated as correct', () => {
358
361
  textEntryMathPage.steps.resetQuestionPreview();
359
362
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
360
363
  equationEditorFlyout.steps.enterEquation([{ categoryName: 'matrices', symbolName: ['twoByTwoMatrixBoundedBrackets'] }]);
@@ -528,7 +531,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
528
531
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
529
532
  });
530
533
 
531
- it('When the user attempts the question using simplified trigonometric functions then it should be treated as incorrect', () => {
534
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
535
+ it.skip('When the user attempts the question using simplified trigonometric functions then it should be treated as incorrect', () => {
532
536
  textEntryMathPage.steps.resetQuestionPreview();
533
537
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
534
538
  equationEditorFlyout.steps.enterEquation([{ categoryName: 'trig', symbolName: ['sin'] }, { categoryName: 'intermediate', symbolName: ['square', 'x'] }, { categoryName: 'numPad', symbolName: ['add'] }, { categoryName: 'trig', symbolName: ['cos'] }, { categoryName: 'intermediate', symbolName: ['square', 'x'] }]);
@@ -573,7 +577,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
573
577
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
574
578
  });
575
579
 
576
- it('When the user attempts the question using integration then it should be treated as correct', () => {
580
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
581
+ it.skip('When the user attempts the question using integration then it should be treated as correct', () => {
577
582
  textEntryMathPage.steps.resetQuestionPreview();
578
583
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
579
584
  equationEditorFlyout.steps.enterEquation([{ categoryName: 'calculus', symbolName: ['integral'] }, { categoryName: 'intermediate', symbolName: ['x'] }]);
@@ -584,7 +589,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
584
589
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
585
590
  });
586
591
 
587
- it('When the user attempts the question using epsilon then it should be treated as correct', () => {
592
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
593
+ it.skip('When the user attempts the question using epsilon then it should be treated as correct', () => {
588
594
  textEntryMathPage.steps.resetQuestionPreview();
589
595
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
590
596
  equationEditorFlyout.steps.enterEquation([{ categoryName: 'greek', symbolName: ['varEpsilon'] }]);
@@ -633,7 +639,8 @@ describe('Create item page - Text entry math: All or nothing scoring', () => {
633
639
  // textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
634
640
  });
635
641
 
636
- it('When the user attempts the question using arithmetic square operation in un-simplified format then it should be treated as incorrect', () => {
642
+ //Need to remove skip once https://redmine.zeuslearning.com/issues/562013 is resolved
643
+ it.skip('When the user attempts the question using arithmetic square operation in un-simplified format then it should be treated as incorrect', () => {
637
644
  textEntryMathPage.steps.resetQuestionPreview();
638
645
  textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
639
646
  equationEditorFlyout.steps.enterEquation([{ categoryName: 'numPad', symbolName: ['three'] }, { categoryName: 'intermediate', symbolName: ['square'] }]);
@@ -320,9 +320,9 @@ describe('Create item page - Text entry math: Question instructions, Options sec
320
320
  textEntryMathWithImagePage.steps.switchToEditTab();
321
321
  textEntryMathWithImagePage.steps.selectCanvasMenuButton('Select text container');
322
322
  textEntryMathWithImagePage.steps.selectResponseArea(0);
323
- textEntryMathWithImagePage.steps.selectResponseAreaPointerStyle(textContainerPointerStyles[7]);
323
+ textEntryMathWithImagePage.steps.selectResponseAreaPointerStyle(textContainerPointerStyles[8]);
324
324
  textEntryMathWithImagePage.steps.switchToPreviewTab();
325
- textEntryMathWithImagePage.steps.verifyResponsePointerStyleInPreviewTab(textContainerPointerStyles[7], 0);
325
+ textEntryMathWithImagePage.steps.verifyResponsePointerStyleInPreviewTab(textContainerPointerStyles[8], 0);
326
326
  textEntryMathWithImagePage.steps.verifyResponsePointerStyleInPreviewTab(textContainerPointerStyles[0], 1);
327
327
  });
328
328
 
@@ -342,7 +342,7 @@ describe('Create item page - Text selection: Partial different weights', () => {
342
342
  textSelectionPage.steps.allotTotalPenaltyPoints(4);
343
343
  textSelectionPage.steps.switchToPreviewTab();
344
344
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
345
- textSelectionPage.steps.verifyPreviewScore(-3, 20);
345
+ textSelectionPage.steps.verifyPreviewScore(-1, 20);
346
346
  });
347
347
 
348
348
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
@@ -384,7 +384,7 @@ describe('Create item page - Text selection: Partial different weights', () => {
384
384
  textSelectionPage.steps.allotPenaltyPointsForEachIncorrectOption(4);
385
385
  textSelectionPage.steps.switchToPreviewTab();
386
386
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
387
- textSelectionPage.steps.verifyPreviewScore(-12, 20);
387
+ textSelectionPage.steps.verifyPreviewScore(-4, 20);
388
388
  });
389
389
 
390
390
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
@@ -393,7 +393,7 @@ describe('Create item page - Text selection: Partial different weights', () => {
393
393
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
394
394
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[2]);
395
395
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
396
- textSelectionPage.steps.verifyPreviewScore(10, 20);
396
+ textSelectionPage.steps.verifyPreviewScore(16, 20);
397
397
  });
398
398
 
399
399
  it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect answer should get deducted from the awarded points', () => {
@@ -423,7 +423,7 @@ describe('Create item page - Text selection: Partial different weights', () => {
423
423
  textSelectionPage.steps.checkAutomaticallySetPenaltyPointsCheckbox();
424
424
  textSelectionPage.steps.switchToPreviewTab();
425
425
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
426
- textSelectionPage.steps.verifyPreviewScore(-20.01, 20);
426
+ textSelectionPage.steps.verifyPreviewScore(-5, 20);
427
427
  });
428
428
 
429
429
  it('When the user attempts the question correctly along with an incorrect option, then penalty points should get deducted from the awarded points', () => {
@@ -432,7 +432,7 @@ describe('Create item page - Text selection: Partial different weights', () => {
432
432
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
433
433
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[2]);
434
434
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
435
- textSelectionPage.steps.verifyPreviewScore(7.33, 20);
435
+ textSelectionPage.steps.verifyPreviewScore(15, 20);
436
436
  });
437
437
 
438
438
  it('When the user attempts the question correctly along with multiple incorrect options, then penalty points for each incorrect answer should get deducted from the awarded points', () => {
@@ -440,7 +440,7 @@ describe('Create item page - Text selection: Partial different weights', () => {
440
440
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[0]);
441
441
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[1]);
442
442
  textSelectionPage.steps.selectOptionInPreviewTab(paragraphTextArray[3]);
443
- textSelectionPage.steps.verifyPreviewScore(-4.34, 20);
443
+ textSelectionPage.steps.verifyPreviewScore(10, 20);
444
444
  });
445
445
 
446
446
  it('When the user has defined penalty points and also sets minimum scoring to \'Award minimum score only if attempted\' and allots minimum points, then on attempting the question incorrectly, minimum points should be awarded', () => {
@@ -4,7 +4,7 @@ import utilities from "../../../support/helpers/utilities";
4
4
 
5
5
  const fontSizeDropdownOptions = ['Tiny', 'Small', 'Default', 'Normal', 'Big', 'Huge'];
6
6
  const fontSizes = ['12px', '14px', '16px', '18px', '22px', '26px'];
7
- const paragraphTextArray = ['All animals have a unique role to play in maintaining the balance of nature.', 'A lot of animal species exist in both, land and water. As a result, each of them has a purpose for their existence.', 'The animals divide into specific groups in biology. Amphibians are those which can live on both, land and water.', 'Mammals are ones which give birth to their offspring in the womb and have mammary glands.'];
7
+ const paragraphTextArray = ['All animals have a unique role to play.', 'A lot of animal species exist in both, land and water. As a result, each of them has a purpose for their existence.', 'The animals divide into specific groups in biology. Amphibians are those which can live on both, land and water.', 'Mammals are ones which give birth to their offspring in the womb and have mammary glands.'];
8
8
 
9
9
  describe('Create Item page - Text selection : Additional settings', () => {
10
10
  before(() => {
@@ -100,7 +100,7 @@ describe('Create Item page - Text selection : Additional settings', () => {
100
100
  });
101
101
  });
102
102
  });
103
-
103
+
104
104
  describe('Additional settings: Accessibility section', () => {
105
105
  abortEarlySetup();
106
106
  before(() => {
@@ -6,7 +6,7 @@ let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Stu
6
6
  const views = utilities.getViews(previewContentViews);
7
7
  var itemReferenceID = "";
8
8
 
9
- const paragraphTextArray = ['All animals have a unique role to play in maintaining the balance of nature.', 'A lot of animal species exist in both, land and water. As a result, each of them has a purpose for their existence.', 'The animals divide into specific groups in biology. Amphibians are those which can live on both, land and water.', 'Mammals are ones which give birth to their offspring in the womb and have mammary glands.'];
9
+ const paragraphTextArray = ['All animals have a unique role to play in maintaining the balance of nature.', 'A lot of animal species exist in both, land and water. As a result, each of them has a purpose.', 'The animals divide into specific groups in biology. Amphibians are those which can live on both, land and water.', 'Mammals are ones which give birth to their offspring in the womb and have mammary glands.'];
10
10
 
11
11
  describe('Create item page - Text selection : Preview contents', () => {
12
12
  before(() => {
@@ -115,8 +115,8 @@ describe('Create Item page - Charts - Dot: All or nothing ', () => {
115
115
  });
116
116
  };
117
117
 
118
- //Note: Remove comment after https://redmine.zeuslearning.com/issues/570904 is resolved
119
- it('When the user selects \'Grading\' view without attempting the question, then by default correct dot column should have correct icons, incorrect dot column should have incorrect icons, the correct answer should be displayed in the correct answer section number line axis and correct/incorrect status message should not be displayed', () => {
118
+ //Remove the skip after https://redmine.zeuslearning.com/issues/570904 is resolved
119
+ it.skip('When the user selects \'Grading\' view without attempting the question, then by default correct dot column should have correct icons, incorrect dot column should have incorrect icons, the correct answer should be displayed in the correct answer section number line axis and correct/incorrect status message should not be displayed', () => {
120
120
  if (view === 'Grading view') {
121
121
  studentViewPage.steps.submitResponse();
122
122
  utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
@@ -90,6 +90,7 @@ const steps = {
90
90
  ...dialogBoxBase.steps,
91
91
  ...additionalSettingsPanel.steps,
92
92
  ...selectQuestionResourceToolPage.steps,
93
+ ...commonComponents.steps,
93
94
  /**
94
95
  * @description set the bar height/value in the select chart type section chart
95
96
  * @param {Object} barProperties - The properties and changes to be done on the bar
@@ -96,6 +96,7 @@ const selectors = {
96
96
  dotIconCorrectAnswerSection: () => cy.get('.dot-icon'),
97
97
  numberLineAxisCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .number-line-wrapper').eq(0),
98
98
  labelsNumberLineAxisCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] [class*="DotPlotChartstyles__BottomWrapper"]').eq(0).find('.label-wrapper [class*="DotPlotChartstyles__Label"]'),
99
+ pointsInputField: () => cy.get('[class*="points-wrapper"] .points-input-field input'),
99
100
  }
100
101
 
101
102
  const steps = {
@@ -112,6 +113,7 @@ const steps = {
112
113
  ...additionalSettingsPanel.steps,
113
114
  ...selectQuestionResourceToolPage.steps,
114
115
  ...dialogBoxBase.steps,
116
+ ...commonComponents.steps,
115
117
 
116
118
  //select chart type
117
119
  selectDotPlot: () => {
@@ -24,6 +24,7 @@ const selectors = {
24
24
  //specify correct answer section
25
25
  specifyCorrectAnswerPoint: () => cy.get('.ngie-accordion .ngie-chart-point'),
26
26
  specifyCorrectAnswerPointLabel: () => cy.get('.ngie-accordion [class*="ChartGridstyle__NameDiv-"]'),
27
+ specifyCorrectAnswerLabelPoints: () => cy.get('.ngie-accordion [class*="input-field-label"]'),
27
28
 
28
29
  //Preview tab
29
30
  previewTabPoint: () => cy.get('[class*="question-preview-wrapper"] [class*="ChartsPreviewstyles__PreviewWrapper"] .ngie-chart-point'),
@@ -47,6 +48,8 @@ const steps = {
47
48
  ...chartsCommonComponent.steps,
48
49
  ...autoScoredSpecifyCorrectAnswerSection.steps,
49
50
  ...correctIncorrectAnswerLabelComponent.steps,
51
+ ...commonComponents.steps,
52
+
50
53
  /**
51
54
  * @description set the point height/value in the select chart type section chart
52
55
  * @param {Object} pointProperties - The properties and changes to be done on the point
@@ -260,6 +263,9 @@ const steps = {
260
263
  *@param {number} pointIndex Index of the point to be deleted
261
264
  */
262
265
  deletePointInSpecifyCorrectAnswerSection: (pointIndex) => {
266
+ chartsLinePage.specifyCorrectAnswerPoint()
267
+ .eq(pointIndex)
268
+ .trigger('mouseover', { force: true });
263
269
  utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex))
264
270
  chartsLinePage.barAndPointTooltipDeleteButton()
265
271
  .click();
@@ -479,6 +485,8 @@ const steps = {
479
485
  chartsLinePage.steps.addInputToChartLabelPopupInputField(pointLabel);
480
486
  chartsLinePage.steps.saveGraphLabelPopup();
481
487
  utilities.triggerMouseout(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex));
488
+ cy.log('Need the following click to remove focus from the above element');
489
+ chartsLinePage.specifyCorrectAnswerLabelPoints().click();
482
490
  utilities.verifyInnerText(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPointLabel(), pointIndex), pointLabel);
483
491
  },
484
492
 
@@ -593,6 +601,9 @@ const tests = {
593
601
 
594
602
  it(`User should be able to delete bar in ${accordionName} accordion and labels for other bars should not change`, () => {
595
603
  utilities.triggerMouseout(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), 0));
604
+ cy.log('Need the following click to remove focus from the above element');
605
+ chartsLinePage.specifyCorrectAnswerLabelPoints()
606
+ .click();
596
607
  steps.deletePointInSpecifyCorrectAnswerSection(1);
597
608
  steps.verifyPointLabelSpecifyCorrectAnswer(0, 'Point 1');
598
609
  steps.verifyPointLabelSpecifyCorrectAnswer(1, 'Point 3');
@@ -30,7 +30,9 @@ const selectors = {
30
30
  const steps = {
31
31
  expandAdditionalSettings: () => {
32
32
  additionalSettingsPanel.additionalSettingsPanel()
33
- .click()
33
+ .click();
34
+ cy.log('Need this wait in order for the font size dropdown to render properly');
35
+ cy.wait(2000);
34
36
  additionalSettingsPanel.additionalSettingsPanel()
35
37
  .should('have.attr', 'aria-expanded', 'true');
36
38
  },
@@ -16,7 +16,8 @@ const selectors = {
16
16
  deleteButton: () => cy.get('button[aria-label*="Delete option"]'),
17
17
  tickIconForOptionButtons: () => cy.get('.ngie-toggle-button-tick-icon'),
18
18
  errorIcon: () => cy.get('[id="Icon_material-error"]'),
19
- alertMessage: () => cy.get('[role="alert"]:visible')
19
+ alertMessage: () => cy.get('[role="alert"]:visible'),
20
+ warningIcon: () => cy.get('[class*="WarningIcon"]')
20
21
  }
21
22
 
22
23
  const steps = {
@@ -73,6 +74,25 @@ const steps = {
73
74
  verifyDropdownIsCollapsed: () => {
74
75
  utilities.verifyElementVisibilityState(commonComponents.dropdownList(), 'notExist');
75
76
  },
77
+
78
+ verifyWarningIconExist: () => {
79
+ utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'exist');
80
+ },
81
+
82
+ verifyWarningIconNotExist: () => {
83
+ utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'notExist');
84
+ },
85
+
86
+ /**
87
+ * This function verifies the tooltip text on the warning icon
88
+ * @param {string} warningMessage message displayed on the tooltip
89
+ */
90
+ verifyWarningIconTooltip: (warningMessage) => {
91
+ utilities.hoverOverElement(commonComponents.warningIcon());
92
+ utilities.verifyTextContent(commonComponents.tooltipText(), warningMessage);
93
+ utilities.hoverAwayFromElement(commonComponents.warningIcon());
94
+ utilities.verifyElementVisibilityState(commonComponents.tooltipText(), 'notExist');
95
+ }
76
96
  }
77
97
 
78
98
  const tests = {
@@ -13,7 +13,13 @@ const selectors = {
13
13
  selectSymbolsToDisplayLabel: () => cy.get('.custom-category-flyout-content .input-label').eq(3),
14
14
  categoryNameInputField: () => cy.get('.input-field-custom-category input').eq(0),
15
15
  categoryIconInputField: () => cy.get('.input-field-custom-category input').eq(1),
16
- selectedSymbols: () => cy.get('.EqEditorPopup .drag-item-flex-parent-wrapper'),
16
+ selectedSymbols: (ariaLabel = null) => {
17
+ if (ariaLabel) {
18
+ return cy.get(`.EqEditorPopup .icon-button-custom-format[aria-label="${ariaLabel}"]`)
19
+ } else {
20
+ return cy.get('.EqEditorPopup .drag-item-flex-parent-wrapper')
21
+ }
22
+ },
17
23
  selectedSymbolsWrapper: () => cy.get('.EqEditorPopup.essay-response-grid-wrapper'),
18
24
  categoryAccordions: () => cy.get('.accordian-structure-equation-editor .MuiExpansionPanelSummary-root'),
19
25
  categoryAccordionIcon: () => cy.get('[class*="expandIcon"]'),
@@ -285,15 +291,18 @@ const steps = {
285
291
  },
286
292
 
287
293
  /**
288
- * Deselect symbol in selected symbols section
289
- * @param {string} symbol title of symbol
290
- */
294
+ * Deselect symbol in selected symbols section
295
+ * @param {string} symbol aria label of symbol
296
+ */
291
297
  deselectSymbolInSelectedSymbolsSection: (symbol) => {
292
- createCustomCategoryFlyout.selectedSymbols()
293
- .contains(symbol)
294
- .parents('.drag-item-flex-parent-wrapper')
298
+ let normalizedLabel;
299
+ if (symbol === 'propTo') {
300
+ normalizedLabel = 'Propto';
301
+ } else {
302
+ normalizedLabel = symbol;
303
+ }
304
+ createCustomCategoryFlyout.selectedSymbols(`${normalizedLabel} selected`)
295
305
  .click();
296
- utilities.verifyElementVisibilityState(createCustomCategoryFlyout.selectedSymbols().contains(symbol), 'notExist');
297
306
  },
298
307
 
299
308
  /**
@@ -10,7 +10,7 @@ const selectors = {
10
10
  noneDragHandleIconButton: () => cy.get('button[aria-label="none drag handle icon"]'),
11
11
  fillColorLabel: () => cy.get('.draggable-options-color-wrapper .sub-section-label').eq(0),
12
12
  borderColorLabel: () => cy.get('.draggable-options-color-wrapper .sub-section-label').eq(1),
13
- colorBlock: () => cy.get('.draggable-options-color-wrapper .color-picker-block'),
13
+ colorBlock: () => cy.get('.draggable-options-color-wrapper .color-grid-wrapper .color-picker-block'),
14
14
  editColorButton: () => cy.get('.draggable-options-color-wrapper button[aria-label="edit color"]'),
15
15
  borderStyleLabel: () => cy.get('.options-border-style .options-label').eq(1),
16
16
  dashedBorderStyleToggleButton: () => cy.get('[data-ngie-testid="dashed-toggle-button"]').eq(1),
@@ -7,7 +7,7 @@ const selectors = {
7
7
  componentContainerLabel: () => cy.get('[class*="styles__SectionWrapper"][class*="label"]').eq(0),
8
8
  fillColorLabel: () => cy.get('.sub-section-label').eq(0),
9
9
  borderColorLabel: () => cy.get('.sub-section-label').eq(1),
10
- colorBlock: () => cy.get('.color-picker-block'),
10
+ colorBlock: () => cy.get('.color-grid-wrapper .color-picker-block'),
11
11
  editColorButton: () => cy.get('button[aria-label="edit color"]'),
12
12
  borderStyleLabel: () => cy.get('.options-border-style .options-label'),
13
13
  dashedBorderStyleToggleButton: () => cy.get('[data-ngie-testid="dashed-toggle-button"]').eq(0),
@@ -33,7 +33,7 @@ const selectors = {
33
33
  editCellPropertyRow: () => gridQuestionCommonComponent.editCellPropertyTableWrapper().find('[class*="wrapper-row"]'),
34
34
  editCellPropertyTableLeftPaginationButton: () => cy.get('.authoring-selection-grid [class*="SelectionGridstyles__PaginationLeftControl"]'),
35
35
  editCellPropertyTableRightPaginationButton: () => cy.get('.authoring-selection-grid [class*="SelectionGridstyles__PaginationRightControl"]'),
36
- cellPropertyInputField: () => cy.get('[title*="text"], [class*="SelectionGridstyles__AuthoringHeadingWrapper"] input'),
36
+ cellPropertyInputField: () => cy.get('[title*="text"], [class*="SelectionGridstyles__AuthoringHeadingWrapper"] input, [class*="SelectionGridstyles"] input'),
37
37
  optionCellPropertyInputField: () => cy.get('[title="Option text or image..."],[placeholder="Option text or image..."]'),
38
38
  tableRowSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-accordion [class*="wrapper-row"]'),
39
39
  tableRowPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="wrapper-row"]'),
@@ -1433,6 +1433,7 @@ const steps = {
1433
1433
 
1434
1434
  expandColumnSpacingDropdown: () => {
1435
1435
  gridQuestionCommonComponent.columnSpacingDropdown()
1436
+ .eq(0)
1436
1437
  .click();
1437
1438
  },
1438
1439
 
@@ -2086,11 +2086,11 @@ const steps = {
2086
2086
  * @param {string} BorderColor selected border color
2087
2087
  */
2088
2088
  verifyDefaultStateCSSForGridInPreviewTabTab: (fillColor, BorderColor) => {
2089
+ utilities.hoverAwayFromElement(utilities.getNthElement(gridFillPage.cellInPreviewTab(), 0));
2089
2090
  utilities.verifyCSS(utilities.getNthElement(gridFillPage.cellInPreviewTab(), 0), {
2090
2091
  'background-color': `${fillColor}`,
2091
2092
  'border-color': `${BorderColor}`
2092
2093
  });
2093
- utilities.triggerMouseout(utilities.getNthElement(gridFillPage.cellInPreviewTab(), 0));
2094
2094
  utilities.verifyCSS(utilities.getNthElement(gridFillPage.cellInPreviewTab(), 14), {
2095
2095
  'background-color': `${fillColor}`,
2096
2096
  'border-color': `${BorderColor}`
@@ -56,6 +56,7 @@ const steps = {
56
56
  ...additionalSettingsPanel.steps,
57
57
  ...commonComponents.steps,
58
58
  ...layoutSectionComponent.steps,
59
+ ...createQuestionBasePage.steps,
59
60
  navigateToLabelNumberLineTab: () => {
60
61
  numberLineLabelPage.labelNumberLineTab()
61
62
  .click();
@@ -129,7 +130,7 @@ const steps = {
129
130
  .eq(index)
130
131
  .within(() => {
131
132
  numberLineLabelPage.labelInputField()
132
- .should('have.attr', 'data-cke-editorplaceholder', 'Enter label');
133
+ .should('have.attr', 'data-cke-editorplaceholder', `Enter label ${index + 1}`);
133
134
  commonComponents.dragHandleButton()
134
135
  .should('exist');
135
136
  numberLineLabelPage.deleteLabelButton()
@@ -323,6 +323,7 @@ const steps = {
323
323
  .clear();
324
324
  shortTextResponsePage.maximumLimitInputField()
325
325
  .type(maxLimit);
326
+ cy.wait(1000);
326
327
  shortTextResponsePage.maximumLimitInputField()
327
328
  .blur();
328
329
  shortTextResponsePage.maximumLimitInputField()
@@ -363,6 +364,7 @@ const steps = {
363
364
  clearAndFocusOutOfMinimumLimitInputField: () => {
364
365
  shortTextResponsePage.minimumLimitInputField()
365
366
  .clear();
367
+ cy.wait(1000);
366
368
  shortTextResponsePage.minimumLimitInputField()
367
369
  .blur();
368
370
  shortTextResponsePage.minimumLimitInputField()
@@ -25,6 +25,7 @@ const selectors = {
25
25
  responseAccordionPointsLabel: () => cy.get('[class*="ResponseAccordionstyles__PointsLabel"]'),
26
26
  responseAccordionPointsScore: () => cy.get('[class*="ResponseAccordionstyles__Points-"]'),
27
27
  responseAccordionPointsInputFieldWrapper: () => cy.get('[class*="ResponseEvaluationstyles__PartialPointsWrapper"]'),
28
+ modalVisibilityTypeButton: () => cy.get('button[data-ngie-testid="modal-toggle-button"]'),
28
29
 
29
30
  //Evaluation tab
30
31
  evaluationTab: () => cy.get('[data-ngie-testid*="evaluation"][data-ngie-testid*="tab"]'),
@@ -840,8 +841,12 @@ const steps = {
840
841
  .contains(categoryName, { matchCase: false })
841
842
  .click();
842
843
  });
843
- }
844
+ },
844
845
 
846
+ selectModalVisibilityTypeButton: () => {
847
+ textEntryMathPage.modalVisibilityTypeButton()
848
+ .click();
849
+ }
845
850
  }
846
851
 
847
852
  const tests = {
@@ -16,6 +16,7 @@ const selectors = {
16
16
  textAreaPreviewTab: () => cy.get('.label-image-with-text-preview [class*="TextBoxContainer"]'),
17
17
  tickIcon: () => cy.get('.add-background-tick-icon-wrapper [data-name*="Rectangle"]'),
18
18
  responseFieldWrapperPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="__PointerWrapper"]'),
19
+ pointerPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="_PointerDiv"]'),
19
20
  responseFieldNumerationPreviewTab: () => cy.get('.image-container .response-input-adornment')
20
21
  }
21
22
 
@@ -34,47 +35,49 @@ const steps = {
34
35
  const getPosition = (option) => {
35
36
  switch (option) {
36
37
  case 'bottom':
37
- return { bottom: '50px', left: '-60px' };
38
+ return { top: '-24px', left: '-3px' };
38
39
  case 'bottom right':
39
- return { top: '-48px', right: '45px' };
40
+ return { top: '-29.5px', left: '-36.5px' };
40
41
  case 'right':
41
- return { top: '-24px', right: '53px' };
42
+ return { top: '-21px', left: '-37px' };
42
43
  case 'top right':
43
- return { top: '13px', right: '45px' };
44
+ return { top: '-23.5px', left: '-35.5px' };
44
45
  case 'top':
45
- return { top: '28px', left: '-60px' };
46
+ return { top: '-22px', left: '9px' };
46
47
  case 'top left':
47
- return { top: '12px', left: '23px' };
48
+ return { top: '-21.5px', left: '-28px' };
48
49
  case 'left':
49
- return { top: '-19px', left: '28px' };
50
+ return { top: '-28px', left: '-27px' };
50
51
  case 'bottom left':
51
- return { top: '-44px', left: '18px' };
52
+ return { top: '-24.5px', left: '-27px' };
52
53
  }
53
54
  }
54
55
  const expectedPosition = getPosition(style);
55
56
  if (style == 'bottom') {
56
- textEntryMathWithImagePage.responseFieldWrapperPreviewTab()
57
+ textEntryMathWithImagePage.pointerPreviewTab()
57
58
  .eq(responseIndex)
58
- .should('have.css', 'bottom', expectedPosition.bottom)
59
- .and('have.css', 'left', expectedPosition.left);
59
+ .should('have.css', 'margin-top', expectedPosition.top)
60
+ .and('have.css', 'margin-left', expectedPosition.left);
60
61
  }
61
62
  else if (style == 'bottom right' || style == 'right' || style == 'top right') {
62
- textEntryMathWithImagePage.responseFieldWrapperPreviewTab()
63
+ textEntryMathWithImagePage.pointerPreviewTab()
63
64
  .eq(responseIndex)
64
- .should('have.css', 'top', expectedPosition.top)
65
- .and('have.css', 'right', expectedPosition.right);
65
+ .should('have.css', 'margin-top', expectedPosition.top)
66
+ .and('have.css', 'margin-left', expectedPosition.left);
66
67
  }
67
68
  else if (style == 'none') {
68
69
  textEntryMathWithImagePage.responseFieldPreviewTab()
69
70
  .eq(responseIndex)
70
- .should('not.have.css', 'bottom')
71
- .and('not.have.css', 'left');
71
+ .within(() => {
72
+ textEntryMathWithImagePage.pointerPreviewTab()
73
+ .should('not.exist')
74
+ });
72
75
  }
73
76
  else {
74
- textEntryMathWithImagePage.responseFieldWrapperPreviewTab()
77
+ textEntryMathWithImagePage.pointerPreviewTab()
75
78
  .eq(responseIndex)
76
- .should('have.css', 'top', expectedPosition.top)
77
- .and('have.css', 'left', expectedPosition.left);
79
+ .should('have.css', 'margin-top', expectedPosition.top)
80
+ .and('have.css', 'margin-left', expectedPosition.left);
78
81
  }
79
82
  },
80
83
 
@@ -303,6 +303,7 @@ const steps = {
303
303
  .contains(optionText)
304
304
  .realClick();
305
305
  utilities.hoverAwayFromElement();
306
+ cy.wait(2000);
306
307
  },
307
308
 
308
309
  /**
@@ -952,6 +953,23 @@ const steps = {
952
953
  textSelectionPage.partialEqualWeightsPointsPerResponseScore()
953
954
  .should('have.text', points)
954
955
  },
956
+
957
+ verifyWarningIconOnRequiredFields: (requiredFieldsArray) => {
958
+ requiredFieldsArray.forEach((field) => {
959
+ if (field === 'Please set points') {
960
+ scoringSectionBaseEditTab.pointsWrapper()
961
+ .within(() => {
962
+ utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'exist');
963
+ });
964
+ } else if (field === 'Please enter all option') {
965
+ textSelectionPage.specifyPossibleOptionsLabel()
966
+ .parents('[class*="LabelAndWarningWrapper"]')
967
+ .within(() => {
968
+ utilities.verifyElementVisibilityState(commonComponents.warningIcon(), 'exist');
969
+ });
970
+ }
971
+ });
972
+ }
955
973
  }
956
974
 
957
975
  const tests = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.232-updatePackage-0fbfb66.0",
3
+ "version": "1.0.235",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -35,4 +35,4 @@
35
35
  "node-fetch": "^3.3.2",
36
36
  "react-uuid": "^2.0.0"
37
37
  }
38
- }
38
+ }
@@ -99,7 +99,7 @@ export function runSorryCypressSpinnaker() {
99
99
  /**
100
100
  * @method runSorryCypressLocalSmoke
101
101
  */
102
- export function runSorryCypressLocalSmoke() {
102
+ export function runSorryCypressLocalSmoke() {
103
103
  process.env.CYPRESS_API_URL = "https://cypress-director.imaginelearning.engineering/";
104
104
  const user = OS.userInfo().username;
105
105
  startTime = Math.round(Date.now() / 1000000);
@@ -118,7 +118,7 @@ export function runSorryCypressSpinnakerSmoke() {
118
118
  startTime = process.env.START_TIME;
119
119
  ciBuildId = setCiBuildId("spinnaker", startTime);
120
120
  const envArgs = setCommandLineEnvArgs()
121
- let command = `cy2 run --parallel --browser chrome --record --key imaginelearning/itemengine-cypress-automation --ci-build-id ${ciBuildId} ${envArgs} --spec "cypress/e2e/ILC/**/*.smoke.js"`;
121
+ let command = `npx cypress-repeat cy2 run --parallel --browser chrome --record --key imaginelearning/itemengine-cypress-automation -n 2 --until-passes --rerun-failed-only --ci-build-id ${ciBuildId} ${envArgs} --spec "cypress/e2e/ILC/**/*.smoke.js"`;
122
122
  console.log(`command: ${command}`);
123
123
  execSync(command, { stdio: "inherit" });
124
124
  }