@pie-lib/charting 7.0.13 → 7.1.0-beta
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.
- package/CHANGELOG.md +0 -44
- package/lib/__tests__/actions-button.test.js +332 -0
- package/lib/__tests__/actions-button.test.js.map +1 -0
- package/lib/__tests__/axes.test.js +746 -0
- package/lib/__tests__/axes.test.js.map +1 -0
- package/lib/__tests__/chart-setup.test.js +796 -0
- package/lib/__tests__/chart-setup.test.js.map +1 -0
- package/lib/__tests__/chart-type.test.js +25 -0
- package/lib/__tests__/chart-type.test.js.map +1 -0
- package/lib/__tests__/chart.test.js +103 -0
- package/lib/__tests__/chart.test.js.map +1 -0
- package/lib/__tests__/grid.test.js +39 -0
- package/lib/__tests__/grid.test.js.map +1 -0
- package/lib/__tests__/key-legend.test.js +235 -0
- package/lib/__tests__/key-legend.test.js.map +1 -0
- package/lib/__tests__/mark-label.test.js +46 -0
- package/lib/__tests__/mark-label.test.js.map +1 -0
- package/lib/__tests__/tool-menu.test.js +627 -0
- package/lib/__tests__/tool-menu.test.js.map +1 -0
- package/lib/__tests__/utils.js +56 -0
- package/lib/__tests__/utils.js.map +1 -0
- package/lib/__tests__/utils.test.js +186 -0
- package/lib/__tests__/utils.test.js.map +1 -0
- package/lib/bars/__tests__/bar.test.js +53 -0
- package/lib/bars/__tests__/bar.test.js.map +1 -0
- package/lib/bars/__tests__/histogram.test.js +53 -0
- package/lib/bars/__tests__/histogram.test.js.map +1 -0
- package/lib/bars/__tests__/utils.js +50 -0
- package/lib/bars/__tests__/utils.js.map +1 -0
- package/lib/bars/common/__tests__/bars.test.js +76 -0
- package/lib/bars/common/__tests__/bars.test.js.map +1 -0
- package/lib/bars/common/__tests__/utils.js +50 -0
- package/lib/bars/common/__tests__/utils.js.map +1 -0
- package/lib/common/__tests__/correctness-indicators.test.js +887 -0
- package/lib/common/__tests__/correctness-indicators.test.js.map +1 -0
- package/lib/common/__tests__/drag-handle.test.js +73 -0
- package/lib/common/__tests__/drag-handle.test.js.map +1 -0
- package/lib/common/__tests__/utils.js +50 -0
- package/lib/common/__tests__/utils.js.map +1 -0
- package/lib/line/__tests__/line-cross.test.js +617 -0
- package/lib/line/__tests__/line-cross.test.js.map +1 -0
- package/lib/line/__tests__/line-dot.test.js +47 -0
- package/lib/line/__tests__/line-dot.test.js.map +1 -0
- package/lib/line/__tests__/utils.js +56 -0
- package/lib/line/__tests__/utils.js.map +1 -0
- package/lib/line/common/__tests__/drag-handle.test.js +73 -0
- package/lib/line/common/__tests__/drag-handle.test.js.map +1 -0
- package/lib/line/common/__tests__/line.test.js +92 -0
- package/lib/line/common/__tests__/line.test.js.map +1 -0
- package/lib/line/common/__tests__/utils.js +50 -0
- package/lib/line/common/__tests__/utils.js.map +1 -0
- package/lib/plot/__tests__/dot.test.js +513 -0
- package/lib/plot/__tests__/dot.test.js.map +1 -0
- package/lib/plot/__tests__/line.test.js +566 -0
- package/lib/plot/__tests__/line.test.js.map +1 -0
- package/lib/plot/__tests__/utils.js +50 -0
- package/lib/plot/__tests__/utils.js.map +1 -0
- package/lib/plot/common/__tests__/plot.test.js +79 -0
- package/lib/plot/common/__tests__/plot.test.js.map +1 -0
- package/lib/plot/common/__tests__/utils.js +50 -0
- package/lib/plot/common/__tests__/utils.js.map +1 -0
- package/package.json +5 -5
- package/LICENSE.md +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"correctness-indicators.test.js","names":["_react","_interopRequireDefault","require","_react2","_styles","_correctnessIndicators","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","color","correct","incorrectWithIcon","defaults","WHITE","Check","props","createElement","title","className","Close","theme","beforeAll","createTheme","describe","mockScale","x","fn","val","y","beforeEach","clearAllMocks","renderComponent","extras","undefined","scale","correctness","value","label","interactive","render","ThemeProvider","CorrectnessIndicator","it","_renderComponent","container","expect","toBeInTheDocument","_renderComponent2","foreignObject","querySelector","_renderComponent3","getByTestId","_renderComponent4","_renderComponent5","not","_renderComponent6","_renderComponent7","_renderComponent8","icon","toHaveAttribute","_renderComponent9","_renderComponent0","toHaveBeenCalledWith","_renderComponent1","_renderComponent10","_renderComponent11","_renderComponent12","_renderComponent13","_renderComponent14","_renderComponent15","_renderComponent16","_renderComponent17","_renderComponent18","correctData","SmallCorrectPointIndicator","_renderComponent19","_renderComponent20","_renderComponent21","toHaveClass","_renderComponent22","_renderComponent23","_renderComponent24","_renderComponent25","_renderComponent26","_renderComponent27","_renderComponent28","_renderComponent29","_renderComponent30","_renderComponent31","_renderComponent32","_renderComponent33","_renderComponent34","_renderComponent35","_renderComponent36","_renderComponent37","_renderComponent38","_renderComponent39","_renderComponent40","_renderComponent41","_renderComponent42","incorrectContainer","_renderComponent43","correctContainer","TickCorrectnessIndicator","_renderComponent44","_renderComponent45","_renderComponent46","_renderComponent47","queryByTestId","_renderComponent48","_renderComponent49","_renderComponent50","_renderComponent51","_renderComponent52","_renderComponent53","_renderComponent54","_renderComponent55","_renderComponent56","_renderComponent57","_renderComponent58","_renderComponent59","_renderComponent60","_renderComponent61","_renderComponent62","_renderComponent63","query1","_renderComponent64","query2","_renderComponent65","_renderComponent66","longLabel","_renderComponent67","_renderComponent68","unmount","_renderComponent69","get2","_renderComponent70","_renderComponent71"],"sources":["../../../src/common/__tests__/correctness-indicators.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { createTheme, ThemeProvider } from '@mui/material/styles';\nimport { CorrectnessIndicator, SmallCorrectPointIndicator, TickCorrectnessIndicator } from '../correctness-indicators';\n\njest.mock('@pie-lib/render-ui', () => ({\n color: {\n correct: () => '#00ff00',\n incorrectWithIcon: () => '#ff0000',\n defaults: {\n WHITE: '#ffffff',\n },\n },\n}));\n\njest.mock('@mui/icons-material/Check', () => {\n return function Check(props) {\n return <svg data-testid=\"check-icon\" title={props.title} className={props.className} />;\n };\n});\n\njest.mock('@mui/icons-material/Close', () => {\n return function Close(props) {\n return <svg data-testid=\"close-icon\" title={props.title} className={props.className} />;\n };\n});\n\nlet theme;\n\nbeforeAll(() => {\n theme = createTheme();\n});\n\ndescribe('CorrectnessIndicator', () => {\n const mockScale = {\n x: jest.fn((val) => val * 10),\n y: jest.fn((val) => val * 10),\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n const renderComponent = (extras = {}) => {\n const defaults = {\n scale: mockScale,\n x: 5,\n y: 10,\n correctness: { value: 'correct', label: 'Correct Answer' },\n interactive: true,\n };\n const props = { ...defaults, ...extras };\n return render(\n <ThemeProvider theme={theme}>\n <svg>\n <CorrectnessIndicator {...props} />\n </svg>\n </ThemeProvider>,\n );\n };\n\n describe('rendering', () => {\n it('should render without crashing', () => {\n const { container } = renderComponent();\n expect(container).toBeInTheDocument();\n });\n\n it('should render foreignObject element', () => {\n const { container } = renderComponent();\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n });\n\n it('should render check icon for correct answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Correct' },\n });\n expect(getByTestId('check-icon')).toBeInTheDocument();\n });\n\n it('should render close icon for incorrect answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Incorrect' },\n });\n expect(getByTestId('close-icon')).toBeInTheDocument();\n });\n\n it('should not render when correctness is null', () => {\n const { container } = renderComponent({ correctness: null });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should not render when correctness is undefined', () => {\n const { container } = renderComponent({ correctness: undefined });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should not render when interactive is false', () => {\n const { container } = renderComponent({ interactive: false });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should render with correct title for correct answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Well done!' },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', 'Well done!');\n });\n\n it('should render with correct title for incorrect answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Try again' },\n });\n const icon = getByTestId('close-icon');\n expect(icon).toHaveAttribute('title', 'Try again');\n });\n });\n\n describe('positioning with scale', () => {\n it('should use scale to calculate position', () => {\n const { container } = renderComponent({\n scale: mockScale,\n x: 5,\n y: 10,\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(mockScale.x).toHaveBeenCalledWith(5);\n expect(mockScale.y).toHaveBeenCalledWith(10);\n // position is scaled value - 11 (half of 22px icon size)\n expect(foreignObject).toHaveAttribute('x', '39'); // 50 - 11\n expect(foreignObject).toHaveAttribute('y', '89'); // 100 - 11\n });\n\n it('should have correct size attributes', () => {\n const { container } = renderComponent();\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toHaveAttribute('width', '22');\n expect(foreignObject).toHaveAttribute('height', '22');\n });\n\n it('should handle different x and y values', () => {\n const { container } = renderComponent({\n x: 20,\n y: 30,\n });\n expect(mockScale.x).toHaveBeenCalledWith(20);\n expect(mockScale.y).toHaveBeenCalledWith(30);\n });\n\n it('should use raw values when scale is not provided', () => {\n const { container } = renderComponent({\n scale: null,\n x: 50,\n y: 100,\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toHaveAttribute('x', '39'); // 50 - 11\n expect(foreignObject).toHaveAttribute('y', '89'); // 100 - 11\n });\n });\n\n describe('edge cases', () => {\n it('should handle zero coordinates', () => {\n const { container } = renderComponent({\n x: 0,\n y: 0,\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toHaveAttribute('x', '-11');\n expect(foreignObject).toHaveAttribute('y', '-11');\n });\n\n it('should handle negative coordinates', () => {\n const { container } = renderComponent({\n x: -5,\n y: -10,\n });\n expect(mockScale.x).toHaveBeenCalledWith(-5);\n expect(mockScale.y).toHaveBeenCalledWith(-10);\n });\n\n it('should handle large coordinates', () => {\n const { container } = renderComponent({\n x: 1000,\n y: 2000,\n });\n expect(mockScale.x).toHaveBeenCalledWith(1000);\n expect(mockScale.y).toHaveBeenCalledWith(2000);\n });\n\n it('should handle correctness with empty label', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: '' },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', '');\n });\n\n it('should handle correctness with undefined label', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: undefined },\n });\n expect(getByTestId('check-icon')).toBeInTheDocument();\n });\n\n it('should render when both correctness and interactive are true', () => {\n const { container } = renderComponent({\n correctness: { value: 'correct', label: 'Test' },\n interactive: true,\n });\n expect(container.querySelector('foreignObject')).toBeInTheDocument();\n });\n\n it('should not render when interactive is false even with correctness', () => {\n const { container } = renderComponent({\n correctness: { value: 'correct', label: 'Test' },\n interactive: false,\n });\n expect(container.querySelector('foreignObject')).not.toBeInTheDocument();\n });\n });\n});\n\ndescribe('SmallCorrectPointIndicator', () => {\n const mockScale = {\n x: jest.fn((val) => val * 10),\n y: jest.fn((val) => val * 10),\n };\n\n const correctData = [\n { label: 'A', value: 10 },\n { label: 'B', value: 20 },\n { label: 'C', value: '30' },\n ];\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n const renderComponent = (extras = {}) => {\n const defaults = {\n scale: mockScale,\n x: 5,\n correctness: { value: 'incorrect', label: 'Incorrect' },\n correctData,\n label: 'A',\n };\n const props = { ...defaults, ...extras };\n return render(\n <ThemeProvider theme={theme}>\n <svg>\n <SmallCorrectPointIndicator {...props} />\n </svg>\n </ThemeProvider>,\n );\n };\n\n describe('rendering', () => {\n it('should render without crashing', () => {\n const { container } = renderComponent();\n expect(container).toBeInTheDocument();\n });\n\n it('should render foreignObject when incorrect', () => {\n const { container } = renderComponent({\n correctness: { value: 'incorrect', label: 'Wrong' },\n label: 'A',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n });\n\n it('should render small check icon when incorrect', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Wrong' },\n label: 'A',\n });\n const icon = getByTestId('check-icon');\n expect(icon).toBeInTheDocument();\n expect(icon).toHaveClass('small');\n });\n\n it('should not render when correctness is correct', () => {\n const { container } = renderComponent({\n correctness: { value: 'correct', label: 'Correct' },\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should not render when correctness is null', () => {\n const { container } = renderComponent({ correctness: null });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should not render when correctness is undefined', () => {\n const { container } = renderComponent({ correctness: undefined });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n });\n\n describe('positioning', () => {\n it('should calculate correct position for label A', () => {\n const { container } = renderComponent({\n x: 5,\n label: 'A',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(mockScale.x).toHaveBeenCalledWith(5);\n expect(mockScale.y).toHaveBeenCalledWith(10); // value from correctData for label A\n // Position is scaled value - 7.5 (half of 15px small icon size)\n expect(foreignObject).toHaveAttribute('x', '42.5'); // 50 - 7.5\n expect(foreignObject).toHaveAttribute('y', '92.5'); // 100 - 7.5\n });\n\n it('should calculate correct position for label B', () => {\n const { container } = renderComponent({\n x: 5,\n label: 'B',\n });\n expect(mockScale.y).toHaveBeenCalledWith(20);\n });\n\n it('should calculate correct position for label C with string value', () => {\n const { container } = renderComponent({\n x: 5,\n label: 'C',\n });\n expect(mockScale.y).toHaveBeenCalledWith(30);\n });\n\n it('should have correct size attributes for small icon', () => {\n const { container } = renderComponent({\n label: 'A',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toHaveAttribute('width', '15');\n expect(foreignObject).toHaveAttribute('height', '15');\n });\n });\n\n describe('correctData handling', () => {\n it('should find correct value from correctData by label', () => {\n const { container } = renderComponent({\n label: 'B',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n expect(mockScale.y).toHaveBeenCalledWith(20);\n });\n\n it('should not render when label is not in correctData', () => {\n const { container } = renderComponent({\n label: 'Z',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should not render when correctData value is NaN', () => {\n const { container } = renderComponent({\n correctData: [{ label: 'A', value: 'invalid' }],\n label: 'A',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should handle empty correctData array', () => {\n const { container } = renderComponent({\n correctData: [],\n label: 'A',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should not render when correctData is undefined (correctness not incorrect)', () => {\n const { container } = renderComponent({\n correctness: { value: 'correct', label: 'Correct' },\n correctData: undefined,\n label: 'A',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should parse string values correctly', () => {\n const { container } = renderComponent({\n correctData: [{ label: 'D', value: '45.5' }],\n label: 'D',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n expect(mockScale.y).toHaveBeenCalledWith(45.5);\n });\n\n it('should handle zero values', () => {\n const { container } = renderComponent({\n correctData: [{ label: 'E', value: 0 }],\n label: 'E',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n expect(mockScale.y).toHaveBeenCalledWith(0);\n });\n\n it('should handle negative values', () => {\n const { container } = renderComponent({\n correctData: [{ label: 'F', value: -10 }],\n label: 'F',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n expect(mockScale.y).toHaveBeenCalledWith(-10);\n });\n });\n\n describe('icon properties', () => {\n it('should render icon with correct title', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Not quite right' },\n label: 'A',\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', 'Not quite right');\n });\n\n it('should render icon with small className', () => {\n const { getByTestId } = renderComponent({\n label: 'A',\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveClass('small');\n });\n });\n\n describe('edge cases', () => {\n it('should handle missing label prop', () => {\n const { container } = renderComponent({\n label: undefined,\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should handle empty string label', () => {\n const { container } = renderComponent({\n label: '',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).not.toBeInTheDocument();\n });\n\n it('should handle very large values in correctData', () => {\n const { container } = renderComponent({\n correctData: [{ label: 'G', value: 999999 }],\n label: 'G',\n });\n const foreignObject = container.querySelector('foreignObject');\n expect(foreignObject).toBeInTheDocument();\n expect(mockScale.y).toHaveBeenCalledWith(999999);\n });\n\n it('should only render for incorrect answers', () => {\n const { container: incorrectContainer } = renderComponent({\n correctness: { value: 'incorrect', label: 'Wrong' },\n label: 'A',\n });\n expect(incorrectContainer.querySelector('foreignObject')).toBeInTheDocument();\n\n const { container: correctContainer } = renderComponent({\n correctness: { value: 'correct', label: 'Right' },\n label: 'A',\n });\n expect(correctContainer.querySelector('foreignObject')).not.toBeInTheDocument();\n });\n });\n});\n\ndescribe('TickCorrectnessIndicator', () => {\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n const renderComponent = (extras = {}) => {\n const defaults = {\n correctness: { value: 'correct', label: 'Correct Answer' },\n interactive: true,\n };\n const props = { ...defaults, ...extras };\n return render(\n <ThemeProvider theme={theme}>\n <TickCorrectnessIndicator {...props} />\n </ThemeProvider>,\n );\n };\n\n describe('rendering', () => {\n it('should render without crashing', () => {\n const { container } = renderComponent();\n expect(container).toBeInTheDocument();\n });\n\n it('should render check icon for correct answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Correct' },\n });\n expect(getByTestId('check-icon')).toBeInTheDocument();\n });\n\n it('should render close icon for incorrect answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Incorrect' },\n });\n expect(getByTestId('close-icon')).toBeInTheDocument();\n });\n\n it('should not render when correctness is null', () => {\n const { queryByTestId } = renderComponent({ correctness: null });\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n expect(queryByTestId('close-icon')).not.toBeInTheDocument();\n });\n\n it('should not render when correctness is undefined', () => {\n const { queryByTestId } = renderComponent({ correctness: undefined });\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n expect(queryByTestId('close-icon')).not.toBeInTheDocument();\n });\n\n it('should not render when interactive is false', () => {\n const { queryByTestId } = renderComponent({ interactive: false });\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n expect(queryByTestId('close-icon')).not.toBeInTheDocument();\n });\n\n it('should render with correct title for correct answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Great job!' },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', 'Great job!');\n });\n\n it('should render with correct title for incorrect answer', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Not correct' },\n });\n const icon = getByTestId('close-icon');\n expect(icon).toHaveAttribute('title', 'Not correct');\n });\n });\n\n describe('interactive flag', () => {\n it('should render when interactive is true', () => {\n const { getByTestId } = renderComponent({\n interactive: true,\n correctness: { value: 'correct', label: 'Test' },\n });\n expect(getByTestId('check-icon')).toBeInTheDocument();\n });\n\n it('should not render when interactive is false', () => {\n const { queryByTestId } = renderComponent({\n interactive: false,\n correctness: { value: 'correct', label: 'Test' },\n });\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n });\n\n it('should not render when interactive is undefined', () => {\n const { queryByTestId } = renderComponent({\n interactive: undefined,\n correctness: { value: 'correct', label: 'Test' },\n });\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n });\n\n it('should not render when interactive is null', () => {\n const { queryByTestId } = renderComponent({\n interactive: null,\n correctness: { value: 'correct', label: 'Test' },\n });\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n });\n });\n\n describe('correctness values', () => {\n it('should render check icon when value is \"correct\"', () => {\n const { getByTestId, queryByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Test' },\n });\n expect(getByTestId('check-icon')).toBeInTheDocument();\n expect(queryByTestId('close-icon')).not.toBeInTheDocument();\n });\n\n it('should render close icon when value is \"incorrect\"', () => {\n const { getByTestId, queryByTestId } = renderComponent({\n correctness: { value: 'incorrect', label: 'Test' },\n });\n expect(getByTestId('close-icon')).toBeInTheDocument();\n expect(queryByTestId('check-icon')).not.toBeInTheDocument();\n });\n\n it('should render close icon for any value other than \"correct\"', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'partial', label: 'Test' },\n });\n expect(getByTestId('close-icon')).toBeInTheDocument();\n });\n\n it('should handle empty value string', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: '', label: 'Test' },\n });\n expect(getByTestId('close-icon')).toBeInTheDocument();\n });\n });\n\n describe('edge cases', () => {\n it('should handle correctness with empty label', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: '' },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', '');\n });\n\n it('should handle correctness with undefined label', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: undefined },\n });\n expect(getByTestId('check-icon')).toBeInTheDocument();\n });\n\n it('should handle correctness with null value', () => {\n const { queryByTestId } = renderComponent({\n correctness: { value: null, label: 'Test' },\n });\n expect(queryByTestId('close-icon')).toBeInTheDocument();\n });\n\n it('should require both correctness and interactive to render', () => {\n const { queryByTestId: query1 } = renderComponent({\n correctness: { value: 'correct', label: 'Test' },\n interactive: false,\n });\n expect(query1('check-icon')).not.toBeInTheDocument();\n\n const { queryByTestId: query2 } = renderComponent({\n correctness: null,\n interactive: true,\n });\n expect(query2('check-icon')).not.toBeInTheDocument();\n });\n\n it('should handle special characters in label', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Test <>&\"' },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', 'Test <>&\"');\n });\n\n it('should handle unicode characters in label', () => {\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: 'Test 你好 🎉' },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', 'Test 你好 🎉');\n });\n\n it('should handle very long labels', () => {\n const longLabel = 'This is a very long label that might cause layout issues in the UI';\n const { getByTestId } = renderComponent({\n correctness: { value: 'correct', label: longLabel },\n });\n const icon = getByTestId('check-icon');\n expect(icon).toHaveAttribute('title', longLabel);\n });\n });\n\n describe('component consistency', () => {\n it('should render same icon type consistently for same correctness value', () => {\n const { getByTestId, unmount } = renderComponent({\n correctness: { value: 'correct', label: 'Test 1' },\n });\n\n expect(getByTestId('check-icon')).toBeInTheDocument();\n unmount();\n\n const { getByTestId: get2 } = renderComponent({\n correctness: { value: 'correct', label: 'Test 2' },\n });\n\n expect(get2('check-icon')).toBeInTheDocument();\n });\n\n it('should render different icons for different correctness values', () => {\n const { getByTestId, unmount } = renderComponent({\n correctness: { value: 'correct', label: 'Correct' },\n });\n\n expect(getByTestId('check-icon')).toBeInTheDocument();\n unmount();\n\n const { getByTestId: get2 } = renderComponent({\n correctness: { value: 'incorrect', label: 'Incorrect' },\n });\n\n expect(get2('close-icon')).toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
+
var _react = require("@testing-library/react");
|
|
6
|
+
var _react2 = _interopRequireDefault(require("react"));
|
|
7
|
+
var _dragHandle = _interopRequireDefault(require("../drag-handle"));
|
|
8
|
+
var _plot = require("@pie-lib/plot");
|
|
9
|
+
var _utils = require("./utils");
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
jest.mock('../../utils', function () {
|
|
13
|
+
var _jest$requireActual = jest.requireActual('../../utils'),
|
|
14
|
+
point = _jest$requireActual.point;
|
|
15
|
+
return {
|
|
16
|
+
bounds: jest.fn(),
|
|
17
|
+
point: point,
|
|
18
|
+
getScale: jest.fn(function () {
|
|
19
|
+
return {
|
|
20
|
+
scale: 1
|
|
21
|
+
};
|
|
22
|
+
})
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
jest.mock('@pie-lib/plot', function () {
|
|
26
|
+
var _jest$requireActual2 = jest.requireActual('@pie-lib/plot'),
|
|
27
|
+
types = _jest$requireActual2.types,
|
|
28
|
+
utils = _jest$requireActual2.utils;
|
|
29
|
+
return {
|
|
30
|
+
gridDraggable: jest.fn(function (opts) {
|
|
31
|
+
return function (Comp) {
|
|
32
|
+
return Comp;
|
|
33
|
+
};
|
|
34
|
+
}),
|
|
35
|
+
types: types,
|
|
36
|
+
utils: utils
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
describe('BasePoint', function () {
|
|
40
|
+
var onChange = jest.fn();
|
|
41
|
+
var renderComponent = function renderComponent(extras) {
|
|
42
|
+
var defaults = {
|
|
43
|
+
classes: {},
|
|
44
|
+
className: 'className',
|
|
45
|
+
onChange: onChange,
|
|
46
|
+
graphProps: (0, _utils.graphProps)(),
|
|
47
|
+
x: 0,
|
|
48
|
+
y: 0,
|
|
49
|
+
width: 100
|
|
50
|
+
};
|
|
51
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
52
|
+
return (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_dragHandle["default"], props));
|
|
53
|
+
};
|
|
54
|
+
describe('rendering', function () {
|
|
55
|
+
it('renders without crashing', function () {
|
|
56
|
+
var _renderComponent = renderComponent(),
|
|
57
|
+
container = _renderComponent.container;
|
|
58
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('gridDraggable options', function () {
|
|
62
|
+
it('configures gridDraggable with correct options', function () {
|
|
63
|
+
// The gridDraggable HOC is tested by verifying that it's called with the component
|
|
64
|
+
// Detailed unit tests for the HOC options would require accessing internal
|
|
65
|
+
// implementation details which is not recommended with RTL
|
|
66
|
+
var _renderComponent2 = renderComponent(),
|
|
67
|
+
container = _renderComponent2.container;
|
|
68
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
69
|
+
expect(_plot.gridDraggable).toHaveBeenCalled();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=drag-handle.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-handle.test.js","names":["_react","require","_react2","_interopRequireDefault","_dragHandle","_plot","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","_jest$requireActual","requireActual","point","bounds","fn","getScale","scale","_jest$requireActual2","types","utils","gridDraggable","opts","Comp","describe","onChange","renderComponent","extras","defaults","classes","className","graphProps","x","y","width","props","render","createElement","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","_renderComponent2","toHaveBeenCalled"],"sources":["../../../src/common/__tests__/drag-handle.test.jsx"],"sourcesContent":["import { render } from '@testing-library/react';\nimport React from 'react';\nimport DragHandle from '../drag-handle';\nimport { gridDraggable } from '@pie-lib/plot';\nimport { graphProps } from './utils';\n\njest.mock('../../utils', () => {\n const { point } = jest.requireActual('../../utils');\n return {\n bounds: jest.fn(),\n point,\n getScale: jest.fn(() => ({ scale: 1 })),\n };\n});\n\njest.mock('@pie-lib/plot', () => {\n const { types, utils } = jest.requireActual('@pie-lib/plot');\n return {\n gridDraggable: jest.fn((opts) => (Comp) => Comp),\n types,\n utils,\n };\n});\n\ndescribe('BasePoint', () => {\n let onChange = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n graphProps: graphProps(),\n x: 0,\n y: 0,\n width: 100,\n };\n const props = { ...defaults, ...extras };\n return render(<DragHandle {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('gridDraggable options', () => {\n it('configures gridDraggable with correct options', () => {\n // The gridDraggable HOC is tested by verifying that it's called with the component\n // Detailed unit tests for the HOC options would require accessing internal\n // implementation details which is not recommended with RTL\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n expect(gridDraggable).toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.scaleMock = exports.graphProps = void 0;
|
|
7
|
+
var scaleMock = exports.scaleMock = function scaleMock() {
|
|
8
|
+
var fn = jest.fn(function (n) {
|
|
9
|
+
return n;
|
|
10
|
+
});
|
|
11
|
+
fn.invert = jest.fn(function (n) {
|
|
12
|
+
return n;
|
|
13
|
+
});
|
|
14
|
+
return fn;
|
|
15
|
+
};
|
|
16
|
+
var graphProps = exports.graphProps = function graphProps() {
|
|
17
|
+
var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
18
|
+
var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
19
|
+
var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
20
|
+
var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
21
|
+
return {
|
|
22
|
+
scale: {
|
|
23
|
+
x: scaleMock(),
|
|
24
|
+
y: scaleMock()
|
|
25
|
+
},
|
|
26
|
+
snap: {
|
|
27
|
+
x: jest.fn(function (n) {
|
|
28
|
+
return n;
|
|
29
|
+
}),
|
|
30
|
+
y: jest.fn(function (n) {
|
|
31
|
+
return n;
|
|
32
|
+
})
|
|
33
|
+
},
|
|
34
|
+
domain: {
|
|
35
|
+
min: dmin,
|
|
36
|
+
max: dmax,
|
|
37
|
+
step: 1
|
|
38
|
+
},
|
|
39
|
+
range: {
|
|
40
|
+
min: rmin,
|
|
41
|
+
max: rmax,
|
|
42
|
+
step: 1
|
|
43
|
+
},
|
|
44
|
+
size: {
|
|
45
|
+
width: 400,
|
|
46
|
+
height: 400
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["scaleMock","exports","fn","jest","n","invert","graphProps","dmin","arguments","length","undefined","dmax","rmin","rmax","scale","x","y","snap","domain","min","max","step","range","size","width","height"],"sources":["../../../src/common/__tests__/utils.js"],"sourcesContent":["export const scaleMock = () => {\n const fn = jest.fn((n) => n);\n fn.invert = jest.fn((n) => n);\n return fn;\n};\n\nexport const graphProps = (dmin = 0, dmax = 1, rmin = 0, rmax = 1) => ({\n scale: {\n x: scaleMock(),\n y: scaleMock(),\n },\n snap: {\n x: jest.fn((n) => n),\n y: jest.fn((n) => n),\n },\n domain: {\n min: dmin,\n max: dmax,\n step: 1,\n },\n range: {\n min: rmin,\n max: rmax,\n step: 1,\n },\n size: {\n width: 400,\n height: 400,\n },\n});\n"],"mappings":";;;;;;AAAO,IAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,SAAZA,SAASA,CAAA,EAAS;EAC7B,IAAME,EAAE,GAAGC,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;IAAA,OAAKA,CAAC;EAAA,EAAC;EAC5BF,EAAE,CAACG,MAAM,GAAGF,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;IAAA,OAAKA,CAAC;EAAA,EAAC;EAC7B,OAAOF,EAAE;AACX,CAAC;AAEM,IAAMI,UAAU,GAAAL,OAAA,CAAAK,UAAA,GAAG,SAAbA,UAAUA,CAAA;EAAA,IAAIC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,IAAI,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEI,IAAI,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEK,IAAI,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAAM;IACrEM,KAAK,EAAE;MACLC,CAAC,EAAEf,SAAS,CAAC,CAAC;MACdgB,CAAC,EAAEhB,SAAS,CAAC;IACf,CAAC;IACDiB,IAAI,EAAE;MACJF,CAAC,EAAEZ,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;QAAA,OAAKA,CAAC;MAAA,EAAC;MACpBY,CAAC,EAAEb,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;QAAA,OAAKA,CAAC;MAAA;IACrB,CAAC;IACDc,MAAM,EAAE;MACNC,GAAG,EAAEZ,IAAI;MACTa,GAAG,EAAET,IAAI;MACTU,IAAI,EAAE;IACR,CAAC;IACDC,KAAK,EAAE;MACLH,GAAG,EAAEP,IAAI;MACTQ,GAAG,EAAEP,IAAI;MACTQ,IAAI,EAAE;IACR,CAAC;IACDE,IAAI,EAAE;MACJC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE;IACV;EACF,CAAC;AAAA,CAAC","ignoreList":[]}
|