itemengine-cypress-automation 1.0.210-1stJulyFixes-e873781.0 → 1.0.210

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. package/cypress/e2e/ILC/ChartsBar/additionalSettings.js +159 -0
  2. package/cypress/e2e/ILC/ChartsBar/editTabScoringSection.js +203 -0
  3. package/cypress/e2e/ILC/ChartsBar/minimumScoringPenaltyPointsAndRoundingDropdown.js +199 -0
  4. package/cypress/e2e/ILC/ChartsBar/questionInstruction.js +29 -0
  5. package/cypress/e2e/ILC/ChartsBar/specifyCorrectAnswerSection.js +2 -1
  6. package/cypress/e2e/ILC/ChartsLine/additionalSettings.js +153 -0
  7. package/cypress/e2e/ILC/ChartsLine/editTabScoringSection.js +210 -0
  8. package/cypress/e2e/ILC/ChartsLine/headerSection.js +109 -0
  9. package/cypress/e2e/ILC/ChartsLine/minimumScoringPenaltyPointsAndRoundingDropdown.js +200 -0
  10. package/cypress/e2e/ILC/ChartsLine/questionInstruction.js +31 -0
  11. package/cypress/e2e/ILC/ChartsLine/specifyCorrectAnswerSection.js +93 -0
  12. package/cypress/e2e/ILC/ChartsLine/toolSettings.js +77 -0
  13. package/cypress/e2e/ILC/FeedbackScaleNew/previewContentsForAllViews.smoke.js +1 -0
  14. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/previewContentsForAllViews.smoke.js +3 -1
  15. package/cypress/e2e/ILC/ImageHighlight/previewContentsForAllViews.smoke.js +28 -9
  16. package/cypress/e2e/ILC/chartsDotsPlot/editTabScoring.js +6 -6
  17. package/cypress/pages/chartsBarPage.js +31 -4
  18. package/cypress/pages/chartsDotPlotPage.js +0 -19
  19. package/cypress/pages/chartsLinePage.js +209 -3
  20. package/cypress/pages/components/autoScoredScoringSectionMultiResponseType.js +1 -0
  21. package/cypress/pages/components/barAndLineChartComponent.js +2 -1
  22. package/cypress/pages/components/chartsCommonComponent.js +18 -0
  23. package/cypress/pages/components/gridQuestionCommonComponent.js +11 -3
  24. package/cypress/pages/feedbackScalePage.js +2 -1
  25. package/package.json +2 -2
@@ -63,9 +63,6 @@ const selectors = {
63
63
  tooltipWrapperSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail .charts-tooltip-wrapper'),
64
64
  labelsNumberLineAxisSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail .label-wrapper [class*="DotPlotChartstyles__Label"]'),
65
65
  numberLineAxisSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail .number-line-wrapper'),
66
- partialEqualWeightsPointsPerResponseScore: () => cy.get('[class*="Chartsstyles__EqualPoints"]'),
67
- dotColumnNumerationPointsLabel: () => cy.get('[class*="Chartsstyles__PartialPointsWrapper"] .partial-points-input-label'),
68
- pointsInputField: () => cy.get('.ngie-accordion-detail .points-input-field input[type="text"]'),
69
66
  dotColumnLockIconSpecifyCorrectAnswer: () => cy.get('[class*="LockIconWrapper"]'),
70
67
  dotPlotChartSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail [class*="DotPlotChartstyles__ChartWrapper"]'),
71
68
 
@@ -92,15 +89,12 @@ const selectors = {
92
89
  numberLineAxisPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .number-line-wrapper').eq(0),
93
90
  labelsNumberLineAxisPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="DotPlotChartstyles__BottomWrapper"]').eq(0).find('.label-wrapper [class*="DotPlotChartstyles__Label"]'),
94
91
  //Correct answer section
95
- correctAnswersLabel: () => cy.get('[class*="CorrectAnswerHeader"]:visible'),
96
92
  correctIcon: () => cy.get('.icon-correct'),
97
93
  incorrectIcon: () => cy.get('.icon-incorrect'),
98
94
  correctIncorrectAnswerTextWrapper: () => cy.get('[class*="AnswerStatusWrapper"]'),
99
95
  dotPlotChartCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] [class*="DotPlotChartstyles__ChartWrapper"]').eq(1),
100
96
  dotColumnCorrectAnswerSection: () => cy.get('.ngie-chart-point'),
101
97
  dotIconCorrectAnswerSection: () => cy.get('.dot-icon'),
102
- graphTitleCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .chart-top-wrapper .title-container').eq(1),
103
- xAxisLabelCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .chart-bottom-wrapper .title-container').eq(1),
104
98
  numberLineAxisCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .number-line-wrapper').eq(0),
105
99
  labelsNumberLineAxisCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] [class*="DotPlotChartstyles__BottomWrapper"]').eq(0).find('.label-wrapper [class*="DotPlotChartstyles__Label"]'),
106
100
  }
@@ -736,19 +730,6 @@ const steps = {
736
730
  });
737
731
  },
738
732
 
739
- verifyPointsPerResponseLabel: () => {
740
- utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'Points per response:\n-');
741
- utilities.verifyElementVisibilityState(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'visible');
742
- },
743
-
744
- /**
745
- * @param {number} points - The expected points value to be verified.
746
- * @description Verifies the partial equal weights points per response score for a specific option in the specify correct answer section for a multi-response type question.
747
- */
748
- verifyPartialEqualWeightsPointsPerResponseScore: (points) => {
749
- utilities.verifyInnerText(chartsDotPlotPage.partialEqualWeightsPointsPerResponseScore(), points);
750
- },
751
-
752
733
  /**
753
734
  * Verifies the display numbers orientation.
754
735
  * @param {('Below' | 'Above')} numberOrientation - The orientation of the numbers ('Below' or 'Above').
@@ -1,21 +1,29 @@
1
1
  import utilities from "../support/helpers/utilities";
2
- import { autoScoredScoringPreviewTab, autoScoredStudentViewSettings, barAndLineChartComponent, chartsCommonComponent, commonComponents, createQuestionBasePage, questionInstructionsComponent, resetPopupComponent, scoringSectionBaseEditTab } from "./components";
2
+ import { additionalSettingsAccessibilitySectionComponent, additionalSettingsPanel, autoScoredScoringPreviewTab, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, autoScoredStudentViewSettings, barAndLineChartComponent, chartsCommonComponent, commonComponents, correctIncorrectAnswerLabelComponent, createQuestionBasePage, questionInstructionsComponent, resetPopupComponent, scoringSectionBaseEditTab } from "./components";
3
3
  import { dialogBoxBase } from "./dialogBoxBase";
4
+ import { selectQuestionResourceToolPage } from "./selectQuestionResourceToolPage";
4
5
  const css = Cypress.env('css');
5
6
 
6
7
  const selectors = {
7
8
  ...questionInstructionsComponent,
8
9
  ...barAndLineChartComponent,
9
- ...chartsCommonComponent,
10
10
  ...commonComponents,
11
11
  ...dialogBoxBase,
12
+ ...additionalSettingsPanel,
13
+ ...correctIncorrectAnswerLabelComponent,
14
+ ...selectQuestionResourceToolPage,
15
+ ...autoScoredScoringSectionMultiResponseType,
16
+ ...chartsCommonComponent,
17
+ ...autoScoredSpecifyCorrectAnswerSection,
12
18
  point: () => cy.get('.ngie-chart-point'),
13
19
  selectChartTypePoint: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .ngie-chart-point'),
14
20
  pointLockIcon: () => cy.get('[class*="ChartGridstyle__LineLockIconWrapper"]'),
15
21
  lineChartDragIcon: () => cy.get('.line-chart-drag-icon'),
22
+ selectChartTypePointLabel: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] [class*="ChartGridstyle__NameDiv-"]'),
16
23
 
17
24
  //specify correct answer section
18
25
  specifyCorrectAnswerPoint: () => cy.get('.ngie-accordion .ngie-chart-point'),
26
+ specifyCorrectAnswerPointLabel: () => cy.get('.ngie-accordion [class*="ChartGridstyle__NameDiv-"]'),
19
27
 
20
28
  //Preview tab
21
29
  previewTabPoint: () => cy.get('[class*="question-preview-wrapper"] [class*="ChartsPreviewstyles__PreviewWrapper"] .ngie-chart-point'),
@@ -33,7 +41,11 @@ const steps = {
33
41
  ...autoScoredScoringPreviewTab.steps,
34
42
  ...autoScoredStudentViewSettings.steps,
35
43
  ...scoringSectionBaseEditTab.steps,
44
+ ...additionalSettingsPanel.steps,
45
+ ...dialogBoxBase.steps,
46
+ ...autoScoredScoringSectionMultiResponseType.steps,
36
47
  ...chartsCommonComponent.steps,
48
+ ...autoScoredSpecifyCorrectAnswerSection.steps,
37
49
  /**
38
50
  * @description set the point height/value in the select chart type section chart
39
51
  * @param {Object} pointProperties - The properties and changes to be done on the point
@@ -76,11 +88,11 @@ const steps = {
76
88
  .click();
77
89
  barAndLineChartComponent.barAndPointTooltipLockUnlockButton()
78
90
  .should('have.attr', 'aria-label', 'locked bar');
79
- utilities.hoverAwayFromElement();
80
91
  utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex)
81
92
  .within(() => {
82
93
  utilities.verifyElementVisibilityState(chartsLinePage.pointLockIcon(), 'visible');
83
94
  });
95
+ utilities.hoverAwayFromElement();
84
96
  },
85
97
 
86
98
  /**
@@ -216,6 +228,26 @@ const steps = {
216
228
  utilities.verifyInnerText(utilities.getNthElement(chartsLinePage.previewTabPointLabel(), pointIndex), pointLabel);
217
229
  },
218
230
 
231
+ /**
232
+ * @description Delete point in select chart type section
233
+ *@param {number} pointIndex Index of the point to be deleted
234
+ */
235
+ deletePointInSelectChartType: (pointIndex) => {
236
+ utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.selectChartTypePoint(), pointIndex))
237
+ chartsLinePage.barAndPointTooltipDeleteButton()
238
+ .click();
239
+ },
240
+
241
+ /**
242
+ * @description Delete point in specify correct answer section
243
+ *@param {number} pointIndex Index of the point to be deleted
244
+ */
245
+ deletePointInSpecifyCorrectAnswerSection: (pointIndex) => {
246
+ utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex))
247
+ chartsLinePage.barAndPointTooltipDeleteButton()
248
+ .click();
249
+ },
250
+
219
251
  /**
220
252
  * @description Delete point in preview tab
221
253
  * @param {number} pointIndex Index of the point to be deleted
@@ -343,11 +375,109 @@ const steps = {
343
375
  });
344
376
  });
345
377
  },
378
+
379
+
380
+ /**
381
+ * verify the displayed penalty points for each incorrect point
382
+ * @param {number} penaltyPoints displayed penalty points
383
+ */
384
+ verifyPenaltyPointsForEachIncorrectPoint: (penaltyPoints) => {
385
+ utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.penaltyPointsDetailsSectionAllottedPointsLabel(), `Penalty points for each incorrect point: ${penaltyPoints}`);
386
+ },
387
+
388
+ /**
389
+ * Verifies if the label of a point at the specified index matches the specified correct answer.
390
+ * @param {number} index - The index of the point whose label is to be verified.
391
+ * @param {string} label - The expected label of the point.
392
+ */
393
+ verifyPointLabelSpecifyCorrectAnswer: (index, label) => {
394
+ utilities.verifyInnerText(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPointLabel(), index), label);
395
+ },
396
+
397
+ /**
398
+ * @description verify locked point in specify correct answer section
399
+ * @param {Object} pointProperties - The properties and changes to be done on the point
400
+ * @param {number} pointProperties.pointIndex index of the point
401
+ * @param {number} pointProperties.pointValue value of th point as per Y axis
402
+ * @param {number} pointProperties.range Maximum value of the axis on which point value is determined
403
+ */
404
+ verifyLockedPointInSpecifyCorrectAnswer: ({ pointIndex, pointValue, range }) => {
405
+ chartsLinePage.steps.verifyPointHeightInSpecifyCorrectAnswer({ pointIndex, pointValue, range });
406
+ chartsLinePage.chartContainerSpecifyCorrectAnswer()
407
+ .within(() => {
408
+ utilities.getNthElement(chartsLinePage.point(), pointIndex)
409
+ .within(() => {
410
+ utilities.verifyElementVisibilityState(chartsLinePage.pointLockIcon(), 'visible');
411
+ });
412
+ });
413
+ },
414
+
415
+ /**
416
+ * Verify the point height in specify correct answer section
417
+ * @param {Object} pointProperties - The properties of the point
418
+ * @param {number} pointProperties.pointIndex index of the point
419
+ * @param {number} pointProperties.pointValue Height of the point as per the axis
420
+ * @param {number} pointProperties.range Maximum value of the axis on which point value is determined
421
+ */
422
+ verifyPointHeightInSpecifyCorrectAnswer: ({ pointIndex, pointValue, range }) => {
423
+ let pointHeight = pointValue / range
424
+ utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex)
425
+ .should('have.attr', 'height', pointHeight);
426
+ },
427
+
428
+ /**
429
+ * Verify locked point is uneditable
430
+ * @param {number} pointIndex index of the point
431
+ */
432
+ verifyLockedPointIsNotEditableInSpecifyCorrectAnswer: (pointIndex) => {
433
+ utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex)
434
+ .invoke('attr', 'height')
435
+ .then((pointValue) => {
436
+ let originalPointValue = pointValue;
437
+ utilities.verifyElementVisibilityState(chartsLinePage.dragHandleButton(), 'notExist');
438
+ utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex)
439
+ .should('have.attr', 'height', originalPointValue);
440
+ });
441
+ },
442
+
443
+ /**
444
+ * @description Delete point in specify correct answer section
445
+ *@param {number} pointIndex Index of the point to be deleted
446
+ */
447
+ deletePointInSpecifyCorrectAnswer: (pointIndex) => {
448
+ utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex))
449
+ chartsLinePage.barAndPointTooltipDeleteButton()
450
+ .click();
451
+ },
452
+
453
+ /**
454
+ * @description Edit point label
455
+ * @param {number} pointIndex Index of the point to be edited
456
+ * @param {string} pointLabel Label to be given to the point
457
+ */
458
+ editPointLabelInSpecifyCorrectAnswer: (pointIndex, pointLabel) => {
459
+ utilities.triggerMouseover(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex))
460
+ chartsLinePage.barAndPointTooltipLabelButton()
461
+ .click();
462
+ chartsLinePage.steps.addInputToChartLabelPopupInputField(pointLabel);
463
+ chartsLinePage.steps.saveGraphLabelPopup();
464
+ utilities.triggerMouseout(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPoint(), pointIndex));
465
+ utilities.verifyInnerText(utilities.getNthElement(chartsLinePage.specifyCorrectAnswerPointLabel(), pointIndex), pointLabel);
466
+ },
346
467
  }
347
468
 
348
469
  const tests = {
349
470
  ...resetPopupComponent.tests,
350
471
  ...autoScoredScoringPreviewTab.tests,
472
+ ...additionalSettingsAccessibilitySectionComponent.tests,
473
+ ...additionalSettingsPanel.tests,
474
+ ...createQuestionBasePage.tests,
475
+ ...commonComponents.tests,
476
+ ...questionInstructionsComponent.tests,
477
+ ...scoringSectionBaseEditTab.tests,
478
+ ...autoScoredScoringSectionMultiResponseType.tests,
479
+ ...chartsCommonComponent.tests,
480
+ ...autoScoredSpecifyCorrectAnswerSection.tests,
351
481
  /**
352
482
  * Verify point tooltip contents with css and a11y in preview tab
353
483
  * @param {number} pointIndex index of the point
@@ -392,6 +522,82 @@ const tests = {
392
522
  cy.checkAccessibility(chartsLinePage.barAndPointTooltipWrapper());
393
523
  utilities.hoverAwayFromElement();
394
524
  });
525
+ },
526
+
527
+
528
+ verifyContentsOfSpecifyCorrectAnswerSection: () => {
529
+ it('When user selects a scoring type then in the \'Correct\' accordion, all the contents should be displayed', () => {
530
+ chartsCommonComponent.steps.verifyGraphTitleInSpecifyCorrectAnswer('Graph title');
531
+ chartsCommonComponent.steps.verifyXAxisLabelInSpecifyCorrectAnswer('Label');
532
+ utilities.verifyTextContent(barAndLineChartComponent.yAxisLabelSpecifyCorrectAnswer(), 'Label');
533
+ utilities.verifyElementVisibilityState(chartsLinePage.lineChartDragIcon(), 'exist');
534
+ utilities.verifyTextContent(utilities.getNthElement(barAndLineChartComponent.yAxisCoordinateSpecifyCorrectAnswer(), 0), '10');
535
+ });
536
+ },
537
+
538
+ /**
539
+ * Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
540
+ * @param {{'Correct' | 'Alternative'}} accordionName - The name of the accordion to be used in the validation.
541
+ * @example - verifySpecifyCorrectAnswerAccordionContentsAndFunctionality('Correct');
542
+ */
543
+ verifySpecifyCorrectAnswerAccordionContentsAndFunctionality: (accordionName) => {
544
+ it('Line chart should be present with y axis label from 1 to 10 and 3 bars', () => {
545
+ utilities.verifyElementVisibilityState(chartsLinePage.chartContainerSpecifyCorrectAnswer(), 'visible');
546
+ utilities.verifyElementCount(chartsLinePage.specifyCorrectAnswerPoint(), 3);
547
+ });
548
+
549
+ it(`The user should be able to set bars on chart in the specify correct answer section ${accordionName} accordion`, () => {
550
+ steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 2, value: 4, range: 10 });
551
+ steps.setPointValueInSpecifyCorrectAnswerSection({ pointIndex: 1, value: 2, range: 10 });
552
+ });
553
+
554
+ it(`User should be able to delete bar in ${accordionName} accordion and labels for other bars should not change`, () => {
555
+ steps.deletePointInSpecifyCorrectAnswerSection(1);
556
+ steps.verifyPointLabelSpecifyCorrectAnswer(0, 'Bar 1');
557
+ steps.verifyPointLabelSpecifyCorrectAnswer(1, 'Bar 3');
558
+ });
559
+
560
+ it(`When the user resets the charts in the ${accordionName} accordion, error message should not be thrown on the \'${accordionName}\' accordion`, () => {
561
+ chartsLinePage.steps.selectControlOptionSpecifyCorrectAnswer('Reset');
562
+ chartsLinePage.steps.confirmReset();
563
+ utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
564
+ if (accordionName == 'Correct') {
565
+ autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
566
+ .within(() => {
567
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
568
+ });
569
+ } else {
570
+ autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
571
+ .within(() => {
572
+ utilities.verifyElementVisibilityState(autoScoredSpecifyCorrectAnswerSection.specifyCorrectAnswerErrorIcon(), 'notExist');
573
+ });
574
+ };
575
+ });
576
+
577
+ it(`When the user focuses in and out of the empty points input field, no points error message should be displayed below the points input field and error icon should not be displayed on the \'${accordionName}\' accordion`, () => {
578
+ scoringSectionBaseEditTab.pointsInputField()
579
+ .eq(0)
580
+ .focus();
581
+ scoringSectionBaseEditTab.pointsInputField()
582
+ .eq(0)
583
+ .blur();
584
+ utilities.verifyElementVisibilityState(scoringSectionBaseEditTab.pleaseEnterPointsErrorMessage(), 'notExist')
585
+ if (accordionName == 'Correct') {
586
+ autoScoredSpecifyCorrectAnswerSection.correctAnswerAccordion()
587
+ .within(() => {
588
+ autoScoredSpecifyCorrectAnswerSection.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
589
+ });
590
+ } else {
591
+ autoScoredSpecifyCorrectAnswerSection.alternativeAnswerAccordion()
592
+ .within(() => {
593
+ autoScoredSpecifyCorrectAnswerSection.steps.verifySpecifyCorrectAnswerErrorIconNotExists();
594
+ });
595
+ };
596
+ });
597
+
598
+ it('Accessibility of \'Correct\' accordion contents', { tags: 'a11y' }, () => {
599
+ cy.checkAccessibility(chartsLinePage.specifyCorrectAnswerPoint().parents('.ngie-accordion-detail'));
600
+ });
395
601
  }
396
602
  }
397
603
 
@@ -301,6 +301,7 @@ const steps = {
301
301
  case 'specify points for each incorrect answer':
302
302
  case 'specify points for each incorrect dropdown':
303
303
  case 'specify points for each incorrect bar':
304
+ case 'specify points for each incorrect point':
304
305
  case 'specify points for each incorrect dot plot':
305
306
  case 'specify points for each incorrect text container':
306
307
  autoScoredScoringSectionMultiResponseType.specifyPointsForEachIncorrectOptionRadioButton()
@@ -50,7 +50,7 @@ const selectors = {
50
50
  return cy.get('.ngie-accordion [class*="ChartToolsstyles__ChartToolsWrapper"] button')
51
51
  }
52
52
  },
53
- barAndPointTooltipWrapperSpecifyCorrectAnswer: () => cy.get('.ngie-accordion [class*="ChartTooltipstyles__ChartTooltipWrapper"]'),
53
+ barAndPointTooltipWrapperSpecifyCorrectAnswer: () => cy.get('.ngie-accordion [class*="ChartTooltipstyles__ChartTooltipWrapper"]'),
54
54
  gridCellSpecifyCorrectAnswer: () => cy.get('.ngie-accordion .grid-cell'),
55
55
  yAxisCoordinateSpecifyCorrectAnswer: () => cy.get('.ngie-accordion [class*="ChartGridstyle__ValueDiv"]'),
56
56
  yAxisLabelSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail [class*="ChartsPreviewstyles__LeftWrapper"] .title-container'),
@@ -64,6 +64,7 @@ const selectors = {
64
64
  previewTabYAxisCoordinate: () => cy.get('[class*="question-preview-wrapper"] [class*="ChartsPreviewstyles__PreviewWrapper"] [class*="ChartGridstyle__ValueDiv"]'),
65
65
  previewTabChartRowHeaderContainer: () => cy.get('[class*="question-preview-wrapper"] [class*="ChartsPreviewstyles__PreviewWrapper"] [class*="ChartGridstyle__RowHeaderContainer"]'),
66
66
  gridCellPreviewTab: () => cy.get('[class*="question-preview-wrapper"] [class*="ChartsPreviewstyles__PreviewWrapper"] .grid-cell'),
67
+ yAxisLabelCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] [class*="ChartsPreviewstyles__LeftWrapper"] .title-container').eq(1),
67
68
  }
68
69
 
69
70
  const steps = {
@@ -1,5 +1,6 @@
1
1
  import utilities from "../../support/helpers/utilities";
2
2
  import { autoScoredScoringPreviewTab } from "./autoScoredScoringPreviewTab";
3
+ import { autoScoredScoringSectionMultiResponseType } from "./autoScoredScoringSectionMultiResponseType";
3
4
  import { commonComponents } from "./commonComponents";
4
5
  import { correctIncorrectAnswerLabelComponent } from "./correctIncorrectAnswerLabelComponent";
5
6
 
@@ -22,6 +23,7 @@ const selectors = {
22
23
  graphLabelPopupSaveButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(1),
23
24
 
24
25
  //specify correct answer
26
+ pointsInputField: () => cy.get('.ngie-accordion-detail .points-input-field input[type="text"]'),
25
27
  graphTitleSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail .chart-top-wrapper .title-container'),
26
28
  xAxisLabelSpecifyCorrectAnswer: () => cy.get('.ngie-accordion-detail .chart-bottom-wrapper .title-container'),
27
29
 
@@ -34,6 +36,9 @@ const selectors = {
34
36
  tickIconWrapper: () => cy.get('[class*="tick-icon-wrapper"] svg'),
35
37
  correctAnswersLabel: () => cy.get('[class*="Chartsstyle__CorrectAnswerHeader"]'),
36
38
  chartsContainerPreviewTab: () => cy.get('[class*="question-preview-wrapper"] .chart-container'),
39
+ graphTitleCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .chart-top-wrapper .title-container').eq(1),
40
+ xAxisLabelCorrectAnswerSection: () => cy.get('[class*="question-preview-wrapper"] .chart-bottom-wrapper .title-container').eq(1),
41
+ partialDifferentWeightsPointsInputFieldLabel: () => cy.get('[class*="Chartsstyles__PartialPointsWrapper"] .partial-points-input-label'),
37
42
 
38
43
  //scoring section
39
44
  toleranceThresholdLabel: () => cy.get('[class*="AllocatedPointsstyles__PointsWrapper"] .points-label'),
@@ -230,6 +235,19 @@ const steps = {
230
235
  .eq(index)
231
236
  .trigger('mouseout', { force: true });
232
237
  },
238
+
239
+ verifyPointsPerResponseLabel: () => {
240
+ utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'Points per response:\n-');
241
+ utilities.verifyElementVisibilityState(autoScoredScoringSectionMultiResponseType.pointsPerResponseLabel(), 'visible');
242
+ },
243
+
244
+ /**
245
+ * @param {number} points - The expected points value to be verified.
246
+ * @description Verifies the partial equal weights points per response score for a specific option in the specify correct answer section for a multi-response type question.
247
+ */
248
+ verifyPartialEqualWeightsPointsPerResponseScore: (points) => {
249
+ utilities.verifyInnerText(autoScoredScoringSectionMultiResponseType.partialEqualWeightsPointsPerResponseScore(), points);
250
+ },
233
251
  }
234
252
 
235
253
  const tests = {
@@ -26,15 +26,15 @@ const innerBorder = ['Inner', 'Horizontal', 'Vertical', 'None'];
26
26
  const modifiedColor = 'rgb(121, 61, 61)'
27
27
 
28
28
  const selectors = {
29
- editCellPropertyButton: () => cy.get('button[aria-label="More Action"]'),
29
+ editCellPropertyButton: () => cy.get('.action-menu button'),
30
30
  editCellPropertyList: () => cy.get('.ngie-action-cell-container [role="menu"]'),
31
31
  editCellPropertyListOption: () => cy.get('[class*="MuiMenuItem"][role="menuitem"]'),
32
32
  editCellPropertyTableWrapper: () => cy.get('.single-select-grid-option-selection-component .selection-grid-wrapper').eq(0),
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"]'),
37
- optionCellPropertyInputField: () => cy.get('[title="Option text or image..."]'),
36
+ cellPropertyInputField: () => cy.get('[title*="text"], [class*="SelectionGridstyles__AuthoringHeadingWrapper"] input'),
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"]'),
40
40
  tableRowHeadersSpecifyCorrectAnswerSection: () => cy.get('.set-correct-ans-selection-grid .cell-content-text'),
@@ -209,6 +209,8 @@ const steps = {
209
209
  enterTextInCellPropertyInputField: ({ row, column }, text) => {
210
210
  utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
211
211
  utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
212
+ gridQuestionCommonComponent.cellPropertyInputField()
213
+ .focus();
212
214
  gridQuestionCommonComponent.cellPropertyInputField()
213
215
  .clear()
214
216
  .type(text)
@@ -272,6 +274,8 @@ const steps = {
272
274
  enterTextInOptionCellInputField: ({ row, column }, text) => {
273
275
  utilities.getNthElement(gridQuestionCommonComponent.editCellPropertyRow(), row).within(() => {
274
276
  utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
277
+ gridQuestionCommonComponent.optionCellPropertyInputField()
278
+ .click();
275
279
  gridQuestionCommonComponent.optionCellPropertyInputField()
276
280
  .type(text)
277
281
  .blur();
@@ -407,6 +411,8 @@ const steps = {
407
411
  utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
408
412
  gridQuestionCommonComponent.cellPropertyInputField()
409
413
  .click();
414
+ gridQuestionCommonComponent.cellPropertyInputField()
415
+ .click();
410
416
  });
411
417
  });
412
418
  },
@@ -422,6 +428,8 @@ const steps = {
422
428
  utilities.getNthElement(gridQuestionCommonComponent.tableCell(), column).within(() => {
423
429
  gridQuestionCommonComponent.optionCellPropertyInputField()
424
430
  .click();
431
+ gridQuestionCommonComponent.optionCellPropertyInputField()
432
+ .click();
425
433
  });
426
434
  });
427
435
  },
@@ -115,7 +115,8 @@ const steps = {
115
115
  */
116
116
  addLegendText: (optionIndex, text) => {
117
117
  utilities.getNthElement(feedbackScalePage.legendTextInputField(), optionIndex)
118
- .type(text)
118
+ .type(text);
119
+ utilities.getNthElement(feedbackScalePage.legendTextInputField(), optionIndex)
119
120
  .blur();
120
121
  },
121
122
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.210-1stJulyFixes-e873781.0",
3
+ "version": "1.0.210",
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
+ }