@pie-lib/charting 7.1.0-beta.7 → 7.1.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/package.json +2 -2
  2. package/lib/__tests__/actions-button.test.js +0 -332
  3. package/lib/__tests__/actions-button.test.js.map +0 -1
  4. package/lib/__tests__/axes.test.js +0 -746
  5. package/lib/__tests__/axes.test.js.map +0 -1
  6. package/lib/__tests__/chart-setup.test.js +0 -796
  7. package/lib/__tests__/chart-setup.test.js.map +0 -1
  8. package/lib/__tests__/chart-type.test.js +0 -25
  9. package/lib/__tests__/chart-type.test.js.map +0 -1
  10. package/lib/__tests__/chart.test.js +0 -103
  11. package/lib/__tests__/chart.test.js.map +0 -1
  12. package/lib/__tests__/grid.test.js +0 -39
  13. package/lib/__tests__/grid.test.js.map +0 -1
  14. package/lib/__tests__/key-legend.test.js +0 -235
  15. package/lib/__tests__/key-legend.test.js.map +0 -1
  16. package/lib/__tests__/mark-label.test.js +0 -46
  17. package/lib/__tests__/mark-label.test.js.map +0 -1
  18. package/lib/__tests__/tool-menu.test.js +0 -627
  19. package/lib/__tests__/tool-menu.test.js.map +0 -1
  20. package/lib/__tests__/utils.js +0 -56
  21. package/lib/__tests__/utils.js.map +0 -1
  22. package/lib/__tests__/utils.test.js +0 -186
  23. package/lib/__tests__/utils.test.js.map +0 -1
  24. package/lib/bars/__tests__/bar.test.js +0 -53
  25. package/lib/bars/__tests__/bar.test.js.map +0 -1
  26. package/lib/bars/__tests__/histogram.test.js +0 -53
  27. package/lib/bars/__tests__/histogram.test.js.map +0 -1
  28. package/lib/bars/__tests__/utils.js +0 -50
  29. package/lib/bars/__tests__/utils.js.map +0 -1
  30. package/lib/bars/common/__tests__/bars.test.js +0 -76
  31. package/lib/bars/common/__tests__/bars.test.js.map +0 -1
  32. package/lib/bars/common/__tests__/utils.js +0 -50
  33. package/lib/bars/common/__tests__/utils.js.map +0 -1
  34. package/lib/common/__tests__/correctness-indicators.test.js +0 -887
  35. package/lib/common/__tests__/correctness-indicators.test.js.map +0 -1
  36. package/lib/common/__tests__/drag-handle.test.js +0 -73
  37. package/lib/common/__tests__/drag-handle.test.js.map +0 -1
  38. package/lib/common/__tests__/utils.js +0 -50
  39. package/lib/common/__tests__/utils.js.map +0 -1
  40. package/lib/line/__tests__/line-cross.test.js +0 -617
  41. package/lib/line/__tests__/line-cross.test.js.map +0 -1
  42. package/lib/line/__tests__/line-dot.test.js +0 -47
  43. package/lib/line/__tests__/line-dot.test.js.map +0 -1
  44. package/lib/line/__tests__/utils.js +0 -56
  45. package/lib/line/__tests__/utils.js.map +0 -1
  46. package/lib/line/common/__tests__/drag-handle.test.js +0 -73
  47. package/lib/line/common/__tests__/drag-handle.test.js.map +0 -1
  48. package/lib/line/common/__tests__/line.test.js +0 -92
  49. package/lib/line/common/__tests__/line.test.js.map +0 -1
  50. package/lib/line/common/__tests__/utils.js +0 -50
  51. package/lib/line/common/__tests__/utils.js.map +0 -1
  52. package/lib/plot/__tests__/dot.test.js +0 -513
  53. package/lib/plot/__tests__/dot.test.js.map +0 -1
  54. package/lib/plot/__tests__/line.test.js +0 -566
  55. package/lib/plot/__tests__/line.test.js.map +0 -1
  56. package/lib/plot/__tests__/utils.js +0 -50
  57. package/lib/plot/__tests__/utils.js.map +0 -1
  58. package/lib/plot/common/__tests__/plot.test.js +0 -79
  59. package/lib/plot/common/__tests__/plot.test.js.map +0 -1
  60. package/lib/plot/common/__tests__/utils.js +0 -50
  61. package/lib/plot/common/__tests__/utils.js.map +0 -1
  62. package/src/__tests__/actions-button.test.jsx +0 -280
  63. package/src/__tests__/axes.test.jsx +0 -667
  64. package/src/__tests__/chart-setup.test.jsx +0 -532
  65. package/src/__tests__/chart-type.test.jsx +0 -23
  66. package/src/__tests__/chart.test.jsx +0 -86
  67. package/src/__tests__/grid.test.jsx +0 -37
  68. package/src/__tests__/key-legend.test.jsx +0 -223
  69. package/src/__tests__/mark-label.test.jsx +0 -33
  70. package/src/__tests__/tool-menu.test.jsx +0 -522
  71. package/src/__tests__/utils.js +0 -36
  72. package/src/__tests__/utils.test.js +0 -100
  73. package/src/bars/__tests__/bar.test.jsx +0 -45
  74. package/src/bars/__tests__/histogram.test.jsx +0 -45
  75. package/src/bars/__tests__/utils.js +0 -30
  76. package/src/bars/common/__tests__/bars.test.jsx +0 -68
  77. package/src/bars/common/__tests__/utils.js +0 -30
  78. package/src/common/__tests__/correctness-indicators.test.jsx +0 -720
  79. package/src/common/__tests__/drag-handle.test.jsx +0 -58
  80. package/src/common/__tests__/utils.js +0 -30
  81. package/src/line/__tests__/line-cross.test.jsx +0 -463
  82. package/src/line/__tests__/line-dot.test.jsx +0 -41
  83. package/src/line/__tests__/utils.js +0 -36
  84. package/src/line/common/__tests__/drag-handle.test.jsx +0 -62
  85. package/src/line/common/__tests__/line.test.jsx +0 -79
  86. package/src/line/common/__tests__/utils.js +0 -30
  87. package/src/plot/__tests__/dot.test.jsx +0 -344
  88. package/src/plot/__tests__/line.test.jsx +0 -375
  89. package/src/plot/__tests__/utils.js +0 -30
  90. package/src/plot/common/__tests__/plot.test.jsx +0 -69
  91. package/src/plot/common/__tests__/utils.js +0 -30
@@ -1,223 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { createTheme, ThemeProvider } from '@mui/material/styles';
4
- import KeyLegend from '../key-legend';
5
-
6
- jest.mock('@pie-lib/translator', () => ({
7
- __esModule: true,
8
- default: {
9
- translator: {
10
- t: jest.fn((key) => {
11
- const translations = {
12
- 'charting.keyLegend.incorrectAnswer': 'Incorrect answer selected',
13
- 'charting.keyLegend.correctAnswer': 'Correct answer selected',
14
- 'charting.keyLegend.correctKeyAnswer': 'Correct answer',
15
- };
16
- return translations[key] || key;
17
- }),
18
- },
19
- },
20
- }));
21
-
22
- jest.mock('@mui/icons-material/Check', () => {
23
- return function Check(props) {
24
- return <div data-testid="check-icon" {...props} />;
25
- };
26
- });
27
-
28
- jest.mock('@mui/icons-material/Close', () => {
29
- return function Close(props) {
30
- return <div data-testid="close-icon" {...props} />;
31
- };
32
- });
33
-
34
- let theme;
35
-
36
- beforeAll(() => {
37
- theme = createTheme();
38
- });
39
-
40
- describe('KeyLegend', () => {
41
- const renderComponent = (extras = {}) => {
42
- const defaults = {
43
- language: 'en',
44
- };
45
- const props = { ...defaults, ...extras };
46
- return render(
47
- <ThemeProvider theme={theme}>
48
- <KeyLegend {...props} />
49
- </ThemeProvider>,
50
- );
51
- };
52
-
53
- describe('rendering', () => {
54
- it('renders without crashing', () => {
55
- const { container } = renderComponent();
56
- expect(container).toBeInTheDocument();
57
- });
58
-
59
- it('renders Key title', () => {
60
- const { getByText } = renderComponent();
61
- expect(getByText('Key')).toBeInTheDocument();
62
- });
63
-
64
- it('renders incorrect answer row', () => {
65
- const { getByText } = renderComponent();
66
- expect(getByText('Incorrect answer selected')).toBeInTheDocument();
67
- });
68
-
69
- it('renders correct answer row', () => {
70
- const { getByText } = renderComponent();
71
- expect(getByText('Correct answer selected')).toBeInTheDocument();
72
- });
73
-
74
- it('renders correct key answer row', () => {
75
- const { getByText } = renderComponent();
76
- expect(getByText('Correct answer')).toBeInTheDocument();
77
- });
78
-
79
- it('renders with custom language', () => {
80
- const { container } = renderComponent({ language: 'es' });
81
- expect(container).toBeInTheDocument();
82
- });
83
-
84
- it('renders with undefined language', () => {
85
- const { container } = renderComponent({ language: undefined });
86
- expect(container).toBeInTheDocument();
87
- });
88
- });
89
-
90
- describe('icons', () => {
91
- it('renders incorrect icon (Close)', () => {
92
- const { getAllByTestId } = renderComponent();
93
- const closeIcons = getAllByTestId('close-icon');
94
- expect(closeIcons.length).toBeGreaterThan(0);
95
- });
96
-
97
- it('renders correct icons (Check)', () => {
98
- const { getAllByTestId } = renderComponent();
99
- const checkIcons = getAllByTestId('check-icon');
100
- expect(checkIcons.length).toBe(2);
101
- });
102
-
103
- it('renders small check icon for correct key answer', () => {
104
- const { getAllByTestId } = renderComponent();
105
- const checkIcons = getAllByTestId('check-icon');
106
-
107
- expect(checkIcons.length).toBeGreaterThan(0);
108
-
109
- checkIcons.forEach((icon) => {
110
- expect(icon).toBeInTheDocument();
111
- });
112
- });
113
- });
114
-
115
- describe('structure', () => {
116
- it('has correct number of rows', () => {
117
- const { container } = renderComponent();
118
- const texts = ['Incorrect answer selected', 'Correct answer selected', 'Correct answer'];
119
-
120
- texts.forEach((text) => {
121
- expect(container.textContent).toContain(text);
122
- });
123
- });
124
-
125
- it('displays title at the top', () => {
126
- const { container } = renderComponent();
127
- const firstChild = container.querySelector('div > div');
128
- expect(firstChild?.textContent).toContain('Key');
129
- });
130
- });
131
-
132
- describe('styling', () => {
133
- it('applies styled container', () => {
134
- const { container } = renderComponent();
135
- const styledDiv = container.firstChild?.firstChild;
136
- expect(styledDiv).toBeInTheDocument();
137
- });
138
-
139
- it('renders all content in proper structure', () => {
140
- const { container } = renderComponent();
141
- expect(container.querySelector('[data-testid="close-icon"]')).toBeInTheDocument();
142
- expect(container.querySelectorAll('[data-testid="check-icon"]').length).toBe(2);
143
- });
144
- });
145
-
146
- describe('accessibility', () => {
147
- it('has readable text content', () => {
148
- const { container } = renderComponent();
149
- const text = container.textContent;
150
-
151
- expect(text).toContain('Key');
152
- expect(text).toContain('Incorrect answer selected');
153
- expect(text).toContain('Correct answer selected');
154
- expect(text).toContain('Correct answer');
155
- });
156
-
157
- it('icons have proper structure for screen readers', () => {
158
- const { getAllByTestId } = renderComponent();
159
- const icons = [...getAllByTestId('close-icon'), ...getAllByTestId('check-icon')];
160
-
161
- expect(icons.length).toBeGreaterThan(0);
162
- });
163
- });
164
-
165
- describe('edge cases', () => {
166
- it('handles null language', () => {
167
- const { container } = renderComponent({ language: null });
168
- expect(container).toBeInTheDocument();
169
- });
170
-
171
- it('handles empty string language', () => {
172
- const { container } = renderComponent({ language: '' });
173
- expect(container).toBeInTheDocument();
174
- });
175
-
176
- it('renders consistently with different language codes', () => {
177
- const languages = ['en', 'es', 'fr', 'de', 'zh'];
178
-
179
- languages.forEach((lang) => {
180
- const { container, unmount } = renderComponent({ language: lang });
181
- expect(container).toBeInTheDocument();
182
- unmount();
183
- });
184
- });
185
- });
186
-
187
- describe('translation integration', () => {
188
- it('calls translator with language parameter', () => {
189
- const Translator = require('@pie-lib/translator').default;
190
- const { t } = Translator.translator;
191
-
192
- renderComponent({ language: 'es' });
193
-
194
- expect(t).toHaveBeenCalled();
195
- });
196
-
197
- it('displays all required translation keys', () => {
198
- const { container } = renderComponent();
199
- const text = container.textContent;
200
-
201
- expect(text).toContain('Incorrect answer selected');
202
- expect(text).toContain('Correct answer selected');
203
- expect(text).toContain('Correct answer');
204
- });
205
- });
206
-
207
- describe('layout', () => {
208
- it('renders in a flex column layout', () => {
209
- const { container } = renderComponent();
210
- const mainContainer = container.firstChild?.firstChild;
211
- expect(mainContainer).toBeInTheDocument();
212
- });
213
-
214
- it('has proper spacing between elements', () => {
215
- const { getByText } = renderComponent();
216
-
217
- expect(getByText('Key')).toBeInTheDocument();
218
- expect(getByText('Incorrect answer selected')).toBeInTheDocument();
219
- expect(getByText('Correct answer selected')).toBeInTheDocument();
220
- expect(getByText('Correct answer')).toBeInTheDocument();
221
- });
222
- });
223
- });
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@pie-lib/test-utils';
3
- import { MarkLabel } from '../mark-label';
4
- import { graphProps as getGraphProps } from './utils';
5
-
6
- describe('MarkLabel', () => {
7
- let onChange = jest.fn();
8
-
9
- const renderComponent = (extras) => {
10
- const defaults = {
11
- classes: {},
12
- defineChart: false,
13
- className: 'className',
14
- onChange,
15
- mark: { x: 1, y: 1 },
16
- graphProps: getGraphProps(0, 10, 0, 10),
17
- };
18
- const props = { ...defaults, ...extras };
19
- return render(<MarkLabel {...props} />);
20
- };
21
-
22
- describe('rendering', () => {
23
- it('renders mark label', () => {
24
- const { container } = renderComponent();
25
- expect(container.firstChild).toBeInTheDocument();
26
- });
27
-
28
- it('renders mark label at different positions', () => {
29
- const { container } = renderComponent({ mark: { x: 10, y: 10 } });
30
- expect(container.firstChild).toBeInTheDocument();
31
- });
32
- });
33
- });