itemengine-cypress-automation 1.0.500-dependabot-npm-and-yarn-multi-c7c3a225fc-5d05331.0 → 1.0.501-IEI-3415-ea59f3c.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.
@@ -0,0 +1,66 @@
1
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
+ import { chartsBarPage } from "../../../pages";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ const lineSettingsOptions = ['Integers', 'Decimals', 'Fractions', 'Mixed fractions'];
6
+ const integerValues = ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1', '0'];
7
+ const integerIfDecimalsExist = ['10', '', '9', '', '8', '', '7', '', '6', '', '5', '', '4', '', '3', '', '2', '', '1', '', '0'];
8
+ const decimalValues = ['10', '9.5', '9', '8.5', '8', '7.5', '7', '6.5', '6', '5.5', '5', '4.5', '4', '3.5', '3', '2.5', '2', '1.5', '1', '0.5', '0'];
9
+ // The fraction values are represented like this: 19/2 = 192, 17/2 = 172, 3/2 = 32, 1/2 = 12 etc.
10
+ const fractionValues = ['10', '192', '9', '172', '8', '152', '7', '132', '6', '112', '5', '92', '4', '72', '3', '52', '2', '32', '1', '12', '0'];
11
+ // The mixed fraction values are represented like this: 9(1/2) = 912, 8(1/2) = 812, 2(1/2) = 212, 1/2 = 12 etc.
12
+ const mixedFractionValues = ['10', '912', '9', '812', '8', '712', '7', '612', '6', '512', '5', '412', '4', '312', '3', '212', '2', '112', '1', '12', '0'];
13
+
14
+ describe('Create item page - Charts - Bar: Line setting section', () => {
15
+ before(() => {
16
+ cy.loginAs('admin');
17
+ chartsBarPage.steps.navigateToCreateQuestion('charts');
18
+ cy.barsPreLoaderWait();
19
+ chartsBarPage.steps.selectLineButton();
20
+ });
21
+
22
+ describe('Line setting section contents', () => {
23
+ abortEarlySetup();
24
+
25
+ it(`Line settings label and 4 options ${lineSettingsOptions} should be displayed and by default ${lineSettingsOptions[0]} should be selected`, () => {
26
+ utilities.verifyInnerText(chartsBarPage.lineSettingsLabel(), 'Line settings');
27
+ utilities.verifyElementVisibilityState(chartsBarPage.lineSettingsLabel(), 'visible');
28
+ utilities.verifyElementVisibilityState(chartsBarPage.lineSettingsToggleButton(), 'visible');
29
+ utilities.verifyElementCount(chartsBarPage.lineSettingsToggleButton(), 4);
30
+ lineSettingsOptions.forEach((label) => {
31
+ utilities.verifyInnerText(chartsBarPage.lineSettingsToggleButton(label), label);
32
+ utilities.verifyElementVisibilityState(chartsBarPage.lineSettingsToggleButton(label), 'visible');
33
+ });
34
+ chartsBarPage.steps.verifyLineSettingsToggleButtonSelected(lineSettingsOptions[0]);
35
+ chartsBarPage.steps.verifyChartYAxisValues(integerValues);
36
+ });
37
+ });
38
+
39
+ describe('Functionality of line settings section', () => {
40
+ abortEarlySetup();
41
+
42
+ it('When integer option is selected in line settings, decimal values should not be shown', () => {
43
+ chartsBarPage.steps.enterTextInIntervalInputField(0.5);
44
+ cy.wait(500);
45
+ chartsBarPage.steps.verifyChartYAxisValues(integerIfDecimalsExist);
46
+ });
47
+
48
+ it('When decimal option is selected in line settings, decimal values should be shown', () => {
49
+ chartsBarPage.steps.selectLineSettingsToggleButton(lineSettingsOptions[1]);
50
+ cy.wait(500);
51
+ chartsBarPage.steps.verifyChartYAxisValues(decimalValues);
52
+ });
53
+
54
+ it('When fraction option is selected in line settings, decimal values should not be shown in fraction', () => {
55
+ chartsBarPage.steps.selectLineSettingsToggleButton(lineSettingsOptions[2]);
56
+ cy.wait(500);
57
+ chartsBarPage.steps.verifyChartYAxisValues(fractionValues);
58
+ });
59
+
60
+ it('When mixed fraction option is selected in line settings, decimal values should not be shown in mixed fraction', () => {
61
+ chartsBarPage.steps.selectLineSettingsToggleButton(lineSettingsOptions[3]);
62
+ cy.wait(500);
63
+ chartsBarPage.steps.verifyChartYAxisValues(mixedFractionValues);
64
+ });
65
+ });
66
+ });
@@ -0,0 +1,66 @@
1
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
2
+ import { chartsLinePage, dialogBoxBase } from "../../../pages";
3
+ import utilities from "../../../support/helpers/utilities";
4
+
5
+ const lineSettingsOptions = ['Integers', 'Decimals', 'Fractions', 'Mixed fractions'];
6
+ const integerValues = ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1', '0'];
7
+ const integerIfDecimalsExist = ['10', '', '9', '', '8', '', '7', '', '6', '', '5', '', '4', '', '3', '', '2', '', '1', '', '0'];
8
+ const decimalValues = ['10', '9.5', '9', '8.5', '8', '7.5', '7', '6.5', '6', '5.5', '5', '4.5', '4', '3.5', '3', '2.5', '2', '1.5', '1', '0.5', '0'];
9
+ // The fraction values are represented like this: 19/2 = 192, 17/2 = 172, 3/2 = 32, 1/2 = 12 etc.
10
+ const fractionValues = ['10', '192', '9', '172', '8', '152', '7', '132', '6', '112', '5', '92', '4', '72', '3', '52', '2', '32', '1', '12', '0'];
11
+ // The mixed fraction values are represented like this: 9(1/2) = 912, 8(1/2) = 812, 2(1/2) = 212, 1/2 = 12 etc.
12
+ const mixedFractionValues = ['10', '912', '9', '812', '8', '712', '7', '612', '6', '512', '5', '412', '4', '312', '3', '212', '2', '112', '1', '12', '0'];
13
+
14
+ describe('Create item page - Charts - Line: Line setting section', () => {
15
+ before(() => {
16
+ cy.loginAs('admin');
17
+ chartsLinePage.steps.navigateToCreateQuestion('charts');
18
+ cy.barsPreLoaderWait();
19
+ chartsLinePage.steps.selectLineButton();
20
+ });
21
+
22
+ describe('Line setting section contents', () => {
23
+ abortEarlySetup();
24
+
25
+ it(`Line settings label and 4 options ${lineSettingsOptions} should be displayed and by default ${lineSettingsOptions[0]} should be selected`, () => {
26
+ utilities.verifyInnerText(chartsLinePage.lineSettingsLabel(), 'Line settings');
27
+ utilities.verifyElementVisibilityState(chartsLinePage.lineSettingsLabel(), 'visible');
28
+ utilities.verifyElementVisibilityState(chartsLinePage.lineSettingsToggleButton(), 'visible');
29
+ utilities.verifyElementCount(chartsLinePage.lineSettingsToggleButton(), 4);
30
+ lineSettingsOptions.forEach((label) => {
31
+ utilities.verifyInnerText(chartsLinePage.lineSettingsToggleButton(label), label);
32
+ utilities.verifyElementVisibilityState(chartsLinePage.lineSettingsToggleButton(label), 'visible');
33
+ });
34
+ chartsLinePage.steps.verifyLineSettingsToggleButtonSelected(lineSettingsOptions[0]);
35
+ chartsLinePage.steps.verifyChartYAxisValues(integerValues);
36
+ });
37
+ });
38
+
39
+ describe('Functionality of line settings section', () => {
40
+ abortEarlySetup();
41
+
42
+ it('When integer option is selected in line settings, decimal values should not be shown', () => {
43
+ chartsLinePage.steps.enterTextInIntervalInputField(0.5);
44
+ cy.wait(500);
45
+ chartsLinePage.steps.verifyChartYAxisValues(integerIfDecimalsExist);
46
+ });
47
+
48
+ it('When decimal option is selected in line settings, decimal values should be shown', () => {
49
+ chartsLinePage.steps.selectLineSettingsToggleButton(lineSettingsOptions[1]);
50
+ cy.wait(500);
51
+ chartsLinePage.steps.verifyChartYAxisValues(decimalValues);
52
+ });
53
+
54
+ it('When fraction option is selected in line settings, decimal values should not be shown in fraction', () => {
55
+ chartsLinePage.steps.selectLineSettingsToggleButton(lineSettingsOptions[2]);
56
+ cy.wait(500);
57
+ chartsLinePage.steps.verifyChartYAxisValues(fractionValues);
58
+ });
59
+
60
+ it('When mixed fraction option is selected in line settings, decimal values should not be shown in mixed fraction', () => {
61
+ chartsLinePage.steps.selectLineSettingsToggleButton(lineSettingsOptions[3]);
62
+ cy.wait(500);
63
+ chartsLinePage.steps.verifyChartYAxisValues(mixedFractionValues);
64
+ });
65
+ });
66
+ });
@@ -15,6 +15,7 @@ const selectors = {
15
15
  ...selectQuestionResourceToolPage,
16
16
  ...autoScoredScoringSectionMultiResponseType,
17
17
  ...chartsCommonComponent,
18
+ ...layoutSectionComponent,
18
19
  ...autoScoredSpecifyCorrectAnswerSection,
19
20
  point: () => cy.get('.ngie-chart-point'),
20
21
  selectChartTypePoint: () => cy.get('[class*="Chartsstyles__ChartsQuestionWrapper"] .ngie-chart-point'),
@@ -57,8 +57,8 @@ const selectors = {
57
57
  titlePopupAddLabelInputField: () => cy.get('[aria-labelledby="alert-dialog-title"] input'),
58
58
  titlePopupCancelButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(0),
59
59
  titlePopupSaveButton: () => cy.get('.compact-popup-action-button-wrapper button').eq(1),
60
- numberLineNumberLineSection: () => cy.get('.number-line-grid-setting .ngie-jxgbox svg'),
61
- numberLineAxisNumberLineSection: () => cy.get('.number-line-grid-setting .ngie-jxgbox svg line'),
60
+ numberLineNumberLineSection: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) .ngie-jxgbox svg'),
61
+ numberLineAxisNumberLineSection: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) .ngie-jxgbox svg line'),
62
62
  numberLineTitleNumberLineSection: () => cy.get('[class*="LineGraphComponentsstyles__TitleContainer"]'),
63
63
  minLabel: () => cy.get('[class*="CustomInputFieldWrapper"] [class*="CustomInputFieldLabel"]').eq(0),
64
64
  minInputField: () => cy.get('[class*="CustomInputFieldWrapper"] input').eq(0),
@@ -68,26 +68,27 @@ const selectors = {
68
68
  intervalInputField: () => cy.get('input[id="Interval"]'),
69
69
  annotateEveryLabel: () => cy.get('[for="Annotate every"]'),
70
70
  annotateEveryInputField: () => cy.get('input[id="Annotate every"]'),
71
- lineSettingsToggleButtonWrapper: () => cy.get('.number-line-grid-setting [class*="SingleSelectToggleGroupstyles__ToggleButtonWrapper"]').eq(0),
72
- lineSettingsLabel: () => cy.get('.number-line-grid-setting .single-select-toggle-group-title').eq(0),
71
+ lineSettingsToggleButtonWrapper: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SingleSelectToggleGroupstyles__ToggleButtonWrapper"]').eq(0),
72
+ lineSettingsLabel: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) .single-select-toggle-group-title').eq(0),
73
73
  lineSettingsToggleButton: (ariaLabel = null) => {
74
74
  if (ariaLabel !== null) {
75
- return cy.get('.number-line-grid-setting [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(0).find(`button[aria-label*="${ariaLabel}"]`);
75
+ return cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(0).find(`button[aria-label*="${ariaLabel}"]`);
76
76
  } else {
77
- return cy.get('.number-line-grid-setting [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(0).find('button');
77
+ return cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(0).find('button');
78
78
  }
79
79
  },
80
- displayNumbersToggleButtonWrapper: () => cy.get('.number-line-grid-setting [class*="SingleSelectToggleGroupstyles__ToggleButtonWrapper"]').eq(1),
81
- displayNumbersLabel: () => cy.get('.number-line-grid-setting .single-select-toggle-group-title').eq(1),
80
+ displayNumbersToggleButtonWrapper: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SingleSelectToggleGroupstyles__ToggleButtonWrapper"]').eq(1),
81
+ displayNumbersLabel: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) .single-select-toggle-group-title').eq(1),
82
82
  displayNumbersToggleButton: (ariaLabel = null) => {
83
83
  if (ariaLabel !== null) {
84
- return cy.get('.number-line-grid-setting [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(1).find(`button[aria-label*="${ariaLabel}"]`);
84
+ return cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(1).find(`button[aria-label*="${ariaLabel}"]`);
85
85
  } else {
86
- return cy.get('.number-line-grid-setting [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(1).find('button');
86
+ return cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SingleSelectToggleGroupstyles__ButtonContainer"]').eq(1).find('button');
87
87
  }
88
88
  },
89
- displaySpecificAnnotationLabel: () => cy.get('.number-line-grid-setting [class*="SpecificAnnotationWrapper"] [class*="PropertyLabel"]'),
90
- displaySpecificAnnotationInputField: () => cy.get('.number-line-grid-setting [class*="SpecificAnnotationWrapper"] input')
89
+ displaySpecificAnnotationLabel: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SpecificAnnotationWrapper"] [class*="PropertyLabel"]'),
90
+ displaySpecificAnnotationInputField: () => cy.get(':is(.grid-options-wrapper, .number-line-grid-setting) [class*="SpecificAnnotationWrapper"] input'),
91
+ chartYAxisLabels: () => cy.get('.ngie-charts-authoring .row-header-container .value-container'),
91
92
  }
92
93
 
93
94
  const steps = {
@@ -823,6 +824,15 @@ const steps = {
823
824
  verifyTextInHeightInputField: (value) => {
824
825
  layoutSectionComponent.heightInputField()
825
826
  .should('have.value', value);
827
+ },
828
+
829
+ /**
830
+ *
831
+ */
832
+ verifyChartYAxisValues: (expectedValues) => {
833
+ layoutSectionComponent.chartYAxisLabels().each(($element, index) => {
834
+ cy.wrap($element).should('have.text', expectedValues[index]);
835
+ });
826
836
  }
827
837
  }
828
838
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.500-dependabot-npm-and-yarn-multi-c7c3a225fc-5d05331.0",
3
+ "version": "1.0.501-IEI-3415-ea59f3c.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -41,7 +41,7 @@
41
41
  "axe-core": "^4.7.1",
42
42
  "cy-verify-downloads": "^0.1.11",
43
43
  "cy2": "^4.0.9",
44
- "cypress": "^15.1.0",
44
+ "cypress": "^12.17.2",
45
45
  "cypress-axe": "^1.4.0",
46
46
  "cypress-file-upload": "^5.0.8",
47
47
  "cypress-real-events": "^1.7.6",