diff --git a/src/components/Alert/__tests__/Alert.spec.tsx b/src/components/Alert/__tests__/Alert.spec.tsx index da87f8f3f..db4f0ec1f 100644 --- a/src/components/Alert/__tests__/Alert.spec.tsx +++ b/src/components/Alert/__tests__/Alert.spec.tsx @@ -9,6 +9,7 @@ import { AlertForTest } from './Alert.story'; test.describe('Alert', () => { test.describe('visual', () => { [ + ...propTests.defaultComponentPropTest, ...propTests.feedbackColorPropTest, ...propTests.neutralColorPropTest, ...propTests.iconPropTest, @@ -19,6 +20,7 @@ test.describe('Alert', () => { ].forEach(({ name, onBeforeTest, + onBeforeSnapshot, props, }) => { test(name, async ({ @@ -35,6 +37,10 @@ test.describe('Alert', () => { />, ); + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + const screenshot = await component.screenshot(); expect(screenshot).toMatchSnapshot(); }); diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-danger-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-danger-1-chromium-linux.png new file mode 100644 index 000000000..d0bc9ae90 Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-danger-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-light-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-dark-1-chromium-linux.png similarity index 100% rename from src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-light-1-chromium-linux.png rename to src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-dark-1-chromium-linux.png diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-help-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-help-1-chromium-linux.png new file mode 100644 index 000000000..2acabfee6 Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-help-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-info-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-info-1-chromium-linux.png new file mode 100644 index 000000000..97961ee1e Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-info-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-light-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-light-1-chromium-linux.png new file mode 100644 index 000000000..3b3585137 Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-light-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-note-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-note-1-chromium-linux.png new file mode 100644 index 000000000..ea15638ab Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-note-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-success-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-success-1-chromium-linux.png similarity index 100% rename from src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-success-1-chromium-linux.png rename to src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-success-1-chromium-linux.png diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-warning-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..0275de279 Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-color-string-warning-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-defaultComponentProps-object-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-defaultComponentProps-object-1-chromium-linux.png new file mode 100644 index 000000000..ea15638ab Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-defaultComponentProps-object-1-chromium-linux.png differ diff --git a/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-icon-node-1-chromium-linux.png b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-icon-node-1-chromium-linux.png new file mode 100644 index 000000000..1253d56f3 Binary files /dev/null and b/src/components/Alert/__tests__/Alert.spec.tsx-snapshots/Alert-visual-icon-node-1-chromium-linux.png differ diff --git a/src/components/Button/__tests__/Button.spec.tsx b/src/components/Button/__tests__/Button.spec.tsx index 5c182eff0..747ec0ffe 100644 --- a/src/components/Button/__tests__/Button.spec.tsx +++ b/src/components/Button/__tests__/Button.spec.tsx @@ -15,9 +15,16 @@ import { test.describe('Button', () => { test.describe('visual', () => { [ + ...propTests.defaultComponentPropTest, ...propTests.afterLabelPropTest, ...propTests.beforeLabelPropTest, ...propTests.blockPropTest, + ...propTests.endCornerPropTest, + ...propTests.feedbackIconPropTest, + ...propTests.labelPropTest, + ...propTests.labelVisibilityPropTest, + ...propTests.sizePropTest, + ...propTests.startCornerPropTest, ...mixPropTests([ [ ...propTests.actionColorPropTest, @@ -27,15 +34,10 @@ test.describe('Button', () => { propTests.disabledPropTest, propTests.priorityPropTest, ]), - ...propTests.endCornerPropTest, - ...propTests.feedbackIconPropTest, - ...propTests.labelPropTest, - ...propTests.labelVisibilityPropTest, - ...propTests.sizePropTest, - ...propTests.startCornerPropTest, ].forEach(({ name, onBeforeTest, + onBeforeSnapshot, props, }) => { test(name, async ({ @@ -52,6 +54,10 @@ test.describe('Button', () => { />, ); + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + const screenshot = await component.screenshot(); expect(screenshot).toMatchSnapshot(); }); @@ -60,13 +66,18 @@ test.describe('Button', () => { test.describe('non-visual', () => { test('id', async ({ mount }) => { + const testId = 'testId'; + const testLabel = 'testLabel'; + const component = await mount( , ); - await expect(component).toHaveAttribute('id', 'test-id'); + await expect(component).toHaveAttribute('id', testId); + await expect(component.getByText(testLabel)).toHaveAttribute('id', `${testId}__labelText`); }); test('ref', async ({ mount }) => { diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-afterLabel-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-afterLabel-node-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-afterLabel-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-afterLabel-node-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-beforeLabel-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-beforeLabel-node-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-beforeLabel-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-beforeLabel-node-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-false-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-boolean-false-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-false-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-boolean-false-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-true-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-boolean-true-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-true-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-block-boolean-true-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-danger-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-danger-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-dark-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-dark-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-help-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-help-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-info-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-info-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-light-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-light-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-note-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-note-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-primary-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-primary-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-secondary-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-secondary-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-selected-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-selected-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-success-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-success-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-false-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-false-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-false-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-false-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-false-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-false-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-false-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-false-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-false-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-false-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-false-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-false-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-true-priority-filled-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-true-priority-string-filled-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-true-priority-filled-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-true-priority-string-filled-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-true-priority-flat-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-true-priority-string-flat-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-true-priority-flat-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-true-priority-string-flat-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-true-priority-outline-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-true-priority-string-outline-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-warning-disabled-true-priority-outline-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-color-string-warning-disabled-boolean-true-priority-string-outline-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-lg-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-defaultComponentProps-object-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-lg-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-defaultComponentProps-object-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-endCorner-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-endCorner-node-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-endCorner-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-endCorner-node-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-feedbackIcon-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-feedbackIcon-node-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-feedbackIcon-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-feedbackIcon-node-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-node-normal-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..d9960726e Binary files /dev/null and b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-node-normal-1-chromium-linux.png differ diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-string-long-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-label-string-long-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-lg-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-lg-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-lg-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-lg-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-md-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-md-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-md-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-md-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-none-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-none-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-none-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-none-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-sm-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-sm-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-sm-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-sm-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x2l-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-x2l-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x2l-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-x2l-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x3l-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-x3l-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x3l-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-x3l-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-xl-hidden-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-xl-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-xl-hidden-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-hidden-xl-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-md-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-lg-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-md-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-lg-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-sm-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-md-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-sm-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-md-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x2l-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-sm-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x2l-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-sm-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x3l-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-x2l-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-x3l-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-x2l-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-xl-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-x3l-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-xl-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-x3l-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-xs-visible-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-xl-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-xs-visible-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-xl-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-medium-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-xs-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-medium-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-labelVisibility-string-visible-xs-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-large-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-large-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-large-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-large-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-medium-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-medium-1-chromium-linux.png new file mode 100644 index 000000000..49cb68e7e Binary files /dev/null and b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-medium-1-chromium-linux.png differ diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-small-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-small-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-small-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-size-string-small-1-chromium-linux.png diff --git a/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-startCorner-1-chromium-linux.png b/src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-startCorner-node-1-chromium-linux.png similarity index 100% rename from src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-startCorner-1-chromium-linux.png rename to src/components/Button/__tests__/Button.spec.tsx-snapshots/Button-visual-startCorner-node-1-chromium-linux.png diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx new file mode 100644 index 000000000..2a815aeef --- /dev/null +++ b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx @@ -0,0 +1,174 @@ +import React from 'react'; +import { + expect, + test, +} from '@playwright/experimental-ct-react'; +import { + mixPropTests, + propTests, +} from '../../../../tests/playwright'; +import { + CheckboxFieldForTest, + CheckboxFieldForRefTest, + CheckboxForFormLayoutTests, +} from './CheckboxField.story'; +import type { CheckboxForFormLayoutTestsProps } from './CheckboxField.story'; + +test.describe('CheckboxField', () => { + test.describe('base', () => { + test.describe('visual', () => { + [ + ...propTests.defaultComponentPropTest, + ...propTests.helpTextAndValidationTextPropType, + ...propTests.isLabelVisiblePropTest, + ...propTests.labelPositionPropTest, + ...propTests.labelPropTest, + ...propTests.renderAsRequiredPropTest, + ...mixPropTests([ + propTests.disabledPropTest, + propTests.checkedPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.checkedPropTest, + propTests.requiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.checkedPropTest, + propTests.renderAsRequiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.checkedPropTest, + propTests.requiredPropTest, + ]), + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot(); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + + test.describe('non-visual', () => { + test('id', async ({ mount }) => { + const idValue = 'checkbox-id'; + const label = 'checkbox-label'; + const helpText = 'checkbox-helpText'; + const validationText = 'checkbox-validationText'; + + const component = await mount( + , + ); + + await expect(component.getByRole('checkbox')).toHaveAttribute('id', idValue); + await expect(component).toHaveAttribute('id', `${idValue}__label`); + await expect(component.getByText(label)).toHaveAttribute('id', `${idValue}__labelText`); + await expect(component.getByText(helpText)).toHaveAttribute('id', `${idValue}__helpText`); + await expect(component.getByText(validationText)).toHaveAttribute('id', `${idValue}__validationText`); + }); + + test('ref', async ({ mount }) => { + const component = await mount( + , + ); + + await expect(component.getByRole('checkbox')).toHaveAttribute('test-ref', 'test-ref-value'); + }); + }); + + test.describe('functionality', () => { + test('calls synthetic event onChange()', async ({ mount }) => { + let changeCalled = false; + + const component = await mount( + { + changeCalled = true; + }} + />, + ); + + await component.click({ force: true }); + expect(changeCalled).toBeTruthy(); + }); + + test('check on space press when focused', async ({ mount }) => { + const component = await mount( + , + ); + + const input = component.getByRole('checkbox'); + await input.focus(); + await input.press('Space'); + await expect(input).toBeChecked(); + }); + }); + }); + + test.describe('formLayout', () => { + test.describe('visual', () => { + [ + ...propTests.layoutPropTest, + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot(); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + }); +}); diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-06df7--boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-06df7--boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..c792dc8c0 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-06df7--boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-0e7c4-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-0e7c4-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..569797858 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-0e7c4-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-1921b-red-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-1921b-red-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-1921b-red-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-28331-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-28331-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..53efdef87 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-28331-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-53679-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-53679-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..569797858 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-53679-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-6f470-oolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-6f470-oolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..82f6f8bbd Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-6f470-oolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7822c-red-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7822c-red-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7822c-red-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7abd3-ired-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7abd3-ired-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..f8eadbad2 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7abd3-ired-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7acb3-d-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7acb3-d-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..93159f6a2 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7acb3-d-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7f13d-ired-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7f13d-ired-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..f8eadbad2 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-7f13d-ired-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-8f15a-oolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-8f15a-oolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..82f6f8bbd Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-8f15a-oolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-967c9--boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-967c9--boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..c792dc8c0 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-967c9--boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-aa513-oolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-aa513-oolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..516db65ee Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-aa513-oolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-aebbc-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-aebbc-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..53efdef87 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-aebbc-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-cafe1-d-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-cafe1-d-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..93159f6a2 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-cafe1-d-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-fdbdd-oolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-fdbdd-oolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..516db65ee Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-fals-fdbdd-oolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-false-required-boolean-false-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-false-required-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-false-required-boolean-false-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-false-required-boolean-true-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-false-required-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..f8eadbad2 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-false-required-boolean-true-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-143b9--boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-143b9--boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..29d023054 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-143b9--boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-3e921-d-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-3e921-d-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..b0d1d853c Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-3e921-d-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-4c12e--boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-4c12e--boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..29d023054 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-4c12e--boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-59db8-oolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-59db8-oolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..902ac845a Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-59db8-oolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-6db80-oolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-6db80-oolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..902ac845a Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-6db80-oolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-7eda3-oolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-7eda3-oolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..58b6ec8b8 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-7eda3-oolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-a32f5-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-a32f5-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..7249f5613 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-a32f5-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-c299b-oolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-c299b-oolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..58b6ec8b8 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-c299b-oolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-c6af0-red-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-c6af0-red-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..743487d7d Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-c6af0-red-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-cfcfe-d-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-cfcfe-d-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..b0d1d853c Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-cfcfe-d-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-d72f4-red-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-d72f4-red-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..743487d7d Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-d72f4-red-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-d8c8f-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-d8c8f-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..f2552a439 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-d8c8f-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-db84c-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-db84c-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..7249f5613 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-db84c-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-e5548-ired-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-e5548-ired-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..0aa1054fe Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-e5548-ired-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-f3c63-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-f3c63-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..f2552a439 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-f3c63-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-false-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..743487d7d Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-false-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-true-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..0aa1054fe Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-true-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..0aa1054fe Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-checked-boolean-true-required-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-defaultComponentProps-object-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-defaultComponentProps-object-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-defaultComponentProps-object-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-215d0-ked-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-215d0-ked-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-215d0-ked-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-3802d-d-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-3802d-d-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..29d023054 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-3802d-d-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-43fbf--boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-43fbf--boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..c792dc8c0 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-43fbf--boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-a7f59-oolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-a7f59-oolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..82f6f8bbd Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-a7f59-oolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-a874a-oolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-a874a-oolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..516db65ee Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-a874a-oolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-b4487-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-b4487-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..58b6ec8b8 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-b4487-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-ed561-cked-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-ed561-cked-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..743487d7d Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-ed561-cked-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-f80fd-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-f80fd-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..902ac845a Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-fal-f80fd-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-29bef-d-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-29bef-d-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..4484814e0 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-29bef-d-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-2f43d-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-2f43d-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..9c14652d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-2f43d-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-4123f--boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-4123f--boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..139bf4d37 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-4123f--boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-e78cd-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-e78cd-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..8a24be218 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-e78cd-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-e8026-ked-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-e8026-ked-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..adadd14f7 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-e8026-ked-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-f350b-oolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-f350b-oolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..33c1d47f5 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-f350b-oolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-ff2f5-oolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-ff2f5-oolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..818e35aec Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-tru-ff2f5-oolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-true-checked-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-true-checked-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..d0b3bf6bf Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-disabled-boolean-true-checked-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-string-validationText-string-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-string-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..013609e09 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-string-validationText-string-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png new file mode 100644 index 000000000..723ef093d Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..c79f87c34 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..59309aafb Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-label-node-normal-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-label-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..12fdaab73 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-label-node-normal-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-label-string-long-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-label-string-long-1-chromium-linux.png new file mode 100644 index 000000000..1992d0261 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-label-string-long-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-labelPosition-string-after-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-labelPosition-string-after-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-labelPosition-string-after-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-labelPosition-string-before-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-labelPosition-string-before-1-chromium-linux.png new file mode 100644 index 000000000..d3c744e13 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-labelPosition-string-before-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..3d6b687d9 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..f8eadbad2 Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-formLayout-visual-layout-string-horizontal-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-formLayout-visual-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..eac7c810b Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-formLayout-visual-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-formLayout-visual-layout-string-vertical-1-chromium-linux.png b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-formLayout-visual-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..0c65a4d6a Binary files /dev/null and b/src/components/CheckboxField/__tests__/CheckboxField.spec.tsx-snapshots/CheckboxField-formLayout-visual-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/CheckboxField/__tests__/CheckboxField.story.tsx b/src/components/CheckboxField/__tests__/CheckboxField.story.tsx new file mode 100644 index 000000000..6b542f175 --- /dev/null +++ b/src/components/CheckboxField/__tests__/CheckboxField.story.tsx @@ -0,0 +1,71 @@ +import React, { + useEffect, + useMemo, + useRef, +} from 'react'; +import type { LabelHTMLAttributes } from 'react'; +import { FormLayoutContext } from '../../FormLayout'; +import { CheckboxField } from '..'; + +// Types for story component will be improved when we have full TypeScript support +type CheckboxFieldForTestProps = LabelHTMLAttributes; +type CheckboxFieldForRefTestProps = CheckboxFieldForTestProps & { + testRefAttrName: string; + testRefAttrValue: string; +}; +export type CheckboxForFormLayoutTestsProps = CheckboxFieldForTestProps & { + layout: 'vertical' | 'horizontal' +}; + +const defaultLabel = 'test-label'; + +export const CheckboxFieldForTest = ({ + ...props +} : CheckboxFieldForTestProps) => ( + +); + +export const CheckboxFieldForRefTest = ({ + testRefAttrName, + testRefAttrValue, + ...props +} : CheckboxFieldForRefTestProps) => { + const ref = useRef(undefined); + + useEffect(() => { + ref.current?.setAttribute(testRefAttrName, testRefAttrValue); + }, [testRefAttrName, testRefAttrValue]); + + return ( + + ); +}; + +export const CheckboxForFormLayoutTests = ({ + layout, + ...props +} : CheckboxForFormLayoutTestsProps) => { + const values = useMemo(() => ({ layout }), [layout]); + + return ( + + + + + ); +}; diff --git a/src/components/CheckboxField/__tests__/CheckboxField.test.jsx b/src/components/CheckboxField/__tests__/CheckboxField.test.jsx deleted file mode 100644 index 50f38766d..000000000 --- a/src/components/CheckboxField/__tests__/CheckboxField.test.jsx +++ /dev/null @@ -1,77 +0,0 @@ -import React from 'react'; -import { - render, - screen, - within, -} from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import { disabledPropTest } from '../../../../tests/jest/propTests/disabledPropTest'; -import { refPropTest } from '../../../../tests/jest/propTests/refPropTest'; -import { helpTextPropTest } from '../../../../tests/jest/propTests/helpTextPropTest'; -import { formLayoutProviderTest } from '../../../../tests/jest/providerTests/formLayoutProviderTest'; -import { isLabelVisibleTest } from '../../../../tests/jest/propTests/isLabelVisibleTest'; -import { labelPropTest } from '../../../../tests/jest/propTests/labelPropTest'; -import { renderAsRequiredPropTest } from '../../../../tests/jest/propTests/renderAsRequiredPropTest'; -import { requiredPropTest } from '../../../../tests/jest/propTests/requiredPropTest'; -import { validationStatePropTest } from '../../../../tests/jest/propTests/validationStatePropTest'; -import { validationTextPropTest } from '../../../../tests/jest/propTests/validationTextPropTest'; -import { CheckboxField } from '../CheckboxField'; - -const mandatoryProps = { - label: 'label', -}; - -describe('rendering', () => { - formLayoutProviderTest(); - - it.each([ - ...disabledPropTest, - ...refPropTest(React.createRef()), - ...helpTextPropTest, - [ - { - helpText: 'help text', - id: 'id', - validationText: 'validation text', - }, - (rootElement) => { - expect(rootElement).toHaveAttribute('id', 'id__label'); - expect(within(rootElement).getByTestId('id')); - expect(within(rootElement).getByText('label')).toHaveAttribute('id', 'id__labelText'); - expect(within(rootElement).getByText('help text')).toHaveAttribute('id', 'id__helpText'); - expect(within(rootElement).getByText('validation text')).toHaveAttribute('id', 'id__validationText'); - }, - ], - ...isLabelVisibleTest(), - ...labelPropTest(), - ...renderAsRequiredPropTest, - ...requiredPropTest, - ...validationStatePropTest, - ...validationTextPropTest, - ])('renders with props: "%s"', (testedProps, assert) => { - const dom = render(( - - )); - - assert(dom.container.firstChild); - }); -}); - -describe('functionality', () => { - it('calls synthetic event onChange()', async () => { - const spy = jest.fn(); - render(( - - )); - - await userEvent.click(screen.getByLabelText('label')); - expect(spy).toHaveBeenCalled(); - }); -}); - diff --git a/src/components/Radio/__tests__/Radio.spec.tsx b/src/components/Radio/__tests__/Radio.spec.tsx new file mode 100644 index 000000000..f8ce464c6 --- /dev/null +++ b/src/components/Radio/__tests__/Radio.spec.tsx @@ -0,0 +1,193 @@ +import React from 'react'; +import { + expect, + test, +} from '@playwright/experimental-ct-react'; +import { + mixPropTests, + propTests, +} from '../../../../tests/playwright'; +import { partialDisabledOptionsPropTest } from './_propTests/partialDisabledOptionsPropTest'; +import { + RadioForTest, + RadioForFormLayoutTests, +} from './Radio.story'; +import type { RadioForFormLayoutTestsProps } from './Radio.story'; + +const options = [ + { + disabled: false, + key: 'customKey1', + label: 'customLabel1', + value: 'customValue1', + }, + { + disabled: false, + key: 'customKey2', + label: 'customLabel2', + value: 'customValue2', + }, + { + disabled: false, + label: 'customLabel3', + value: 'customValue3', + }, +]; + +test.describe('Radio', () => { + test.describe('base', () => { + test.describe('visual', () => { + [ + ...propTests.defaultComponentPropTest, + ...propTests.helpTextAndValidationTextPropType, + ...propTests.isLabelVisiblePropTest, + ...propTests.labelPropTest, + ...propTests.layoutPropTest, + ...propTests.renderAsRequiredPropTest, + ...propTests.requiredPropTest, + ...mixPropTests([ + propTests.disabledPropTest, + propTests.validationStatePropTest, + propTests.validationTextPropTest, + ]), + ...mixPropTests([ + propTests.requiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.renderAsRequiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + partialDisabledOptionsPropTest, + propTests.validationStatePropTest, + ]), + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot(); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + + test.describe('non-visual', () => { + test('id', async ({ mount }) => { + const radioId = 'radioId'; + const label = 'radioLabel'; + + const component = await mount( + , + ); + + await expect(component).toHaveAttribute('id', radioId); + await expect(component.getByText(label).first()).toHaveAttribute('id', `${radioId}__label`); + await expect(component.getByText(label).last()).toHaveAttribute('id', `${radioId}__displayLabel`); + await expect(component.getByText(options[0].label)).toHaveAttribute('id', `${radioId}__item__${options[0].key}__labelText`); + await expect(component.getByText(options[1].label)).toHaveAttribute('id', `${radioId}__item__${options[1].key}__labelText`); + await expect(component.getByText(options[2].label)).toHaveAttribute('id', `${radioId}__item__${options[2].value}__labelText`); + await expect(component.locator(`input[id=${radioId}__item__${options[0].key}]`)).not.toBeEmpty(); + await expect(component.locator(`input[id=${radioId}__item__${options[1].key}]`)).not.toBeEmpty(); + await expect(component.locator(`input[id=${radioId}__item__${options[2].value}]`)).not.toBeEmpty(); + await expect(component.locator(`label[id=${radioId}__item__${options[0].key}__label]`)).not.toBeEmpty(); + await expect(component.locator(`label[id=${radioId}__item__${options[1].key}__label]`)).not.toBeEmpty(); + await expect(component.locator(`label[id=${radioId}__item__${options[2].value}__label]`)).not.toBeEmpty(); + }); + }); + + test.describe('functionality', () => { + test('calls synthetic event onChange()', async ({ mount }) => { + let changeCalled = false; + + const component = await mount( + { + changeCalled = true; + }} + options={options} + />, + ); + + await component.getByText(options[1].label).click({ force: true }); + expect(changeCalled).toBeTruthy(); + }); + test('check on space press when focused', async ({ mount }) => { + let changeCalled = false; + const testId = 'testId'; + + const component = await mount( + { changeCalled = true; }} + options={options} + />, + ); + + const input = component.locator(`input[id=${testId}__item__${options[1].key}]`); + await input.focus(); + await input.press('Space'); + expect(changeCalled).toBeTruthy(); + }); + }); + }); + + test.describe('formLayout', () => { + test.describe('visual', () => { + [ + ...propTests.layoutPropTest, + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot(); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + }); +}); diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-defaultComponentProps-object-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-defaultComponentProps-object-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-defaultComponentProps-object-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-517de--string-invalid-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-517de--string-invalid-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..a6c1c6aec Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-517de--string-invalid-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-6d01e--string-invalid-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-6d01e--string-invalid-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..1cf523646 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-6d01e--string-invalid-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-72d77--string-warning-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-72d77--string-warning-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..896d2e510 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-72d77--string-warning-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-7ab9b-te-string-valid-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-7ab9b-te-string-valid-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..4ffbdf1db Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-7ab9b-te-string-valid-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-815ed-te-string-valid-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-815ed-te-string-valid-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..38c8b4c12 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-815ed-te-string-valid-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-91e9f--string-valid-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-91e9f--string-valid-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..a201d2896 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-91e9f--string-valid-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-a5ce6-tring-warning-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-a5ce6-tring-warning-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..f9746cb59 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-a5ce6-tring-warning-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-e713e-ate-undefined-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-e713e-ate-undefined-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..78844ec81 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-e713e-ate-undefined-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-eb83b-tring-invalid-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-eb83b-tring-invalid-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..9effef54c Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-eb83b-tring-invalid-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-f2354--string-warning-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-f2354--string-warning-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..d6ad8a4a0 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-val-f2354--string-warning-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-validationState-undefined-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-validationState-undefined-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..22823a4d9 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-validationState-undefined-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-validationState-undefined-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-validationState-undefined-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..94c2efba2 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-false-validationState-undefined-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-27011--string-valid-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-27011--string-valid-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..a2945b941 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-27011--string-valid-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-2ddc7-ate-undefined-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-2ddc7-ate-undefined-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..4e4e6a929 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-2ddc7-ate-undefined-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-4084c-te-string-valid-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-4084c-te-string-valid-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..dc09c13a3 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-4084c-te-string-valid-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-746e7-te-string-valid-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-746e7-te-string-valid-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..36e1e8ffe Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-746e7-te-string-valid-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-b9f02--string-warning-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-b9f02--string-warning-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..96d290930 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-b9f02--string-warning-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-d4152-tring-warning-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-d4152-tring-warning-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..369e9ccb7 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-d4152-tring-warning-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-e42c0--string-invalid-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-e42c0--string-invalid-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..aa780b678 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-e42c0--string-invalid-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-e6669--string-warning-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-e6669--string-warning-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..51dd39d2d Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-e6669--string-warning-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-f7cde-tring-invalid-validationText-string-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-f7cde-tring-invalid-validationText-string-normal-1-chromium-linux.png new file mode 100644 index 000000000..f4f9fa14e Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-f7cde-tring-invalid-validationText-string-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-fa0b4--string-invalid-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-fa0b4--string-invalid-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..9e4b96f8b Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-vali-fa0b4--string-invalid-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-validationState-undefined-validationText-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-validationState-undefined-validationText-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..84c5093ab Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-validationState-undefined-validationText-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-validationState-undefined-validationText-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-validationState-undefined-validationText-string-long-1-chromium-linux.png new file mode 100644 index 000000000..ebd6a857e Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-disabled-boolean-true-validationState-undefined-validationText-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-string-validationText-string-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-string-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..b67efa716 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-string-validationText-string-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png new file mode 100644 index 000000000..5830bae0c Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..78844ec81 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..bcbc1b8e3 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-label-node-normal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-label-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..310f1ec70 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-label-node-normal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-label-string-long-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-label-string-long-1-chromium-linux.png new file mode 100644 index 000000000..22277783a Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-label-string-long-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-layout-string-horizontal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..76e9230cd Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-layout-string-vertical-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-5b1e5-DisabledValue-validationState-string-valid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-5b1e5-DisabledValue-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..1b420c6d1 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-5b1e5-DisabledValue-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-6af22-DisabledValue-validationState-string-valid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-6af22-DisabledValue-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..99ca50a2a Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-6af22-DisabledValue-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-7515f-sabledValue-validationState-string-warning-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-7515f-sabledValue-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..3aea50a14 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-7515f-sabledValue-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-75b83-sabledValue-validationState-string-invalid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-75b83-sabledValue-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..1f4292f89 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-75b83-sabledValue-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-7e0e5-outDisabledValue-validationState-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-7e0e5-outDisabledValue-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..e96327d63 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-7e0e5-outDisabledValue-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-af4d3-sabledValue-validationState-string-warning-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-af4d3-sabledValue-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..41996db18 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-af4d3-sabledValue-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-f8462-sabledValue-validationState-string-invalid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-f8462-sabledValue-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..66e007942 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDis-f8462-sabledValue-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDisabledWithDisabledValue-validationState-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDisabledWithDisabledValue-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..584a762b8 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-options-shape-basePartialDisabledWithDisabledValue-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..07c5fc572 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..48183e7ed Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..945dee2fb Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..9e5ad5b48 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..503e9d728 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..e0a8174c4 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..fd7b79be6 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..9e5ad5b48 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-renderAsRequired-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..07c5fc572 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..48183e7ed Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..945dee2fb Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..307c3c264 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..9e5ad5b48 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..503e9d728 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..e0a8174c4 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..fd7b79be6 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..9e5ad5b48 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-formLayout-visual-layout-string-horizontal-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-formLayout-visual-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..efb3aac78 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-formLayout-visual-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-formLayout-visual-layout-string-vertical-1-chromium-linux.png b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-formLayout-visual-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..081d205e8 Binary files /dev/null and b/src/components/Radio/__tests__/Radio.spec.tsx-snapshots/Radio-formLayout-visual-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/Radio/__tests__/Radio.story.tsx b/src/components/Radio/__tests__/Radio.story.tsx new file mode 100644 index 000000000..a063f856e --- /dev/null +++ b/src/components/Radio/__tests__/Radio.story.tsx @@ -0,0 +1,62 @@ +import React, { useMemo } from 'react'; +import type { InputHTMLAttributes } from 'react'; +import { Radio } from '..'; +import { FormLayoutContext } from '../../FormLayout'; + +// Types for story component will be improved when we have full TypeScript support +type RadioForTestProps = InputHTMLAttributes; +export type RadioForFormLayoutTestsProps = RadioForTestProps & { + layout: 'vertical' | 'horizontal' +}; + +const defaultLabel = 'test-group-label'; +const defaultOptions = [ + { + disabled: false, + key: 'key1', + label: 'label1', + value: 'value1', + }, + { + disabled: false, + key: 'key2', + label: 'label2', + value: 'value2', + }, +]; + +export const RadioForTest = ({ + ...props +}: RadioForTestProps) => ( + {}} + options={defaultOptions} + value={defaultOptions[0].value} + {...props} + /> +); + +export const RadioForFormLayoutTests = ({ + layout, + ...props +} : RadioForFormLayoutTestsProps) => { + const values = useMemo(() => ({ layout }), [layout]); + + return ( + + + + + ); +}; diff --git a/src/components/Radio/__tests__/Radio.test.jsx b/src/components/Radio/__tests__/Radio.test.jsx deleted file mode 100644 index e4f81284b..000000000 --- a/src/components/Radio/__tests__/Radio.test.jsx +++ /dev/null @@ -1,130 +0,0 @@ -import React from 'react'; -import { - render, - screen, - within, -} from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import { helpTextPropTest } from '../../../../tests/jest/propTests/helpTextPropTest'; -import { formLayoutProviderTest } from '../../../../tests/jest/providerTests/formLayoutProviderTest'; -import { isLabelVisibleTest } from '../../../../tests/jest/propTests/isLabelVisibleTest'; -import { labelPropTest } from '../../../../tests/jest/propTests/labelPropTest'; -import { layoutPropTest } from '../../../../tests/jest/propTests/layoutPropTest'; -import { renderAsRequiredPropTest } from '../../../../tests/jest/propTests/renderAsRequiredPropTest'; -import { requiredPropTest } from '../../../../tests/jest/propTests/requiredPropTest'; -import { validationStatePropTest } from '../../../../tests/jest/propTests/validationStatePropTest'; -import { validationTextPropTest } from '../../../../tests/jest/propTests/validationTextPropTest'; -import { Radio } from '../Radio'; - -const mandatoryProps = { - label: 'label', - options: [ - { - label: 'option 1', - value: 1, - }, - { - disabled: true, - key: 'custom_key', - label: 'option 2', - value: 'option2', - }, - ], -}; - -describe('rendering', () => { - formLayoutProviderTest(); - - it.each([ - [ - { disabled: true }, - (rootElement) => { - expect(rootElement).toBeDisabled(); - expect(rootElement).toHaveClass('isRootDisabled'); - expect(within(rootElement).getByLabelText('option 1')).toBeDisabled(); - }, - ], - [ - { disabled: false }, - (rootElement) => { - expect(rootElement).not.toBeDisabled(); - expect(rootElement).not.toHaveClass('isRootDisabled'); - expect(within(rootElement).getByLabelText('option 1')).not.toBeDisabled(); - }, - ], - ...helpTextPropTest, - [ - { - helpText: 'help text', - id: 'id', - validationText: 'validation text', - }, - (rootElement) => { - expect(rootElement).toHaveAttribute('id', 'id'); - expect(within(rootElement).getByTestId('id__label')); - expect(within(rootElement).getByTestId('id__displayLabel')); - expect(within(rootElement).getByText('help text')).toHaveAttribute('id', 'id__helpText'); - expect(within(rootElement).getByText('validation text')).toHaveAttribute('id', 'id__validationText'); - expect(within(rootElement).getByTestId('id__item__1')); - expect(within(rootElement).getByTestId('id__item__custom_key')); - expect(within(rootElement).getByTestId('id__item__1__label')); - expect(within(rootElement).getByTestId('id__item__custom_key__label')); - expect(within(rootElement).getByText('option 1')).toHaveAttribute('id', 'id__item__1__labelText'); - expect(within(rootElement).getByText('option 2')).toHaveAttribute('id', 'id__item__custom_key__labelText'); - }, - ], - ...isLabelVisibleTest('legend'), - ...labelPropTest('legend'), - ...layoutPropTest, - [ - { options: mandatoryProps.options }, - (rootElement) => { - expect(within(rootElement).getByLabelText('option 1')).not.toBeChecked(); - expect(within(rootElement).getByLabelText('option 2')).not.toBeChecked(); - expect(within(rootElement).getByLabelText('option 2')).toBeDisabled(); - }, - ], - ...renderAsRequiredPropTest, - ...requiredPropTest, - ...validationStatePropTest, - ...validationTextPropTest, - [ - { - onChange: () => {}, - value: 'option2', - }, - (rootElement) => expect(within(rootElement).getByLabelText('option 2')).toBeChecked(), - ], - [ - { - onChange: () => {}, - value: 1, - }, - (rootElement) => expect(within(rootElement).getByLabelText('option 1')).toBeChecked(), - ], - ])('renders with props: "%s"', (testedProps, assert) => { - const dom = render(( - - )); - - assert(dom.container.firstChild); - }); -}); - -describe('functionality', () => { - it('calls synthetic event onChange()', async () => { - const spy = jest.fn(); - render(( - - )); - - await userEvent.click(screen.getByText('option 1')); - expect(spy).toHaveBeenCalled(); - }); -}); diff --git a/src/components/Radio/__tests__/_propTests/partialDisabledOptionsPropTest.ts b/src/components/Radio/__tests__/_propTests/partialDisabledOptionsPropTest.ts new file mode 100644 index 000000000..a3125fe0c --- /dev/null +++ b/src/components/Radio/__tests__/_propTests/partialDisabledOptionsPropTest.ts @@ -0,0 +1,33 @@ +import type { PropTests } from '../../../../../tests/playwright/types'; + +const options = [ + { + disabled: true, + key: 'option1', + label: 'label1', + value: 'value1', + }, + { + disabled: false, + key: 'option2', + label: 'label2', + value: 'value2', + }, +]; + +export const partialDisabledOptionsPropTest: PropTests = [ + { + name: 'options:shape[basePartialDisabledWithDisabledValue]', + props: { + options, + value: 'value1', + }, + }, + { + name: 'options:shape[basePartialDisabledWithoutDisabledValue]', + props: { + options, + value: 'value2', + }, + }, +]; diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx b/src/components/SelectField/__tests__/SelectField.spec.tsx new file mode 100644 index 000000000..65fb8bc40 --- /dev/null +++ b/src/components/SelectField/__tests__/SelectField.spec.tsx @@ -0,0 +1,301 @@ +import React from 'react'; +import { + expect, + test, +} from '@playwright/experimental-ct-react'; +import { + mixPropTests, + propTests, +} from '../../../../tests/playwright'; +import { + SelectFieldForTest, + SelectFieldForRefTest, + SelectFieldForFormLayoutTests, +} from './SelectField.story'; +import type { SelectFieldForFormLayoutTestsProps } from './SelectField.story'; +import { openSelectFieldOptionsTest } from './_propTests/openSelectFieldOptionsTest'; + +const groupedOptions = [ + { + key: 'optgroup_key', + label: 'optgroup', + options: [ + { + disabled: false, + label: 'option1', + value: 'value1', + }, + { + disabled: true, + label: 'option2', + value: 'value2', + }, + ], + }, +]; + +const baseOptions = [ + { + disabled: false, + key: 'key1', + label: 'option1', + value: 'value1', + }, + { + disabled: false, + label: 'option2', + value: 'value2', + }, +]; + +test.describe('SelectField', () => { + test.describe('base', () => { + test.describe('visual', () => { + [ + ...propTests.defaultComponentPropTest, + ...propTests.helpTextAndValidationTextPropType, + ...propTests.isLabelVisiblePropTest, + ...propTests.labelPropTest, + ...propTests.renderAsRequiredPropTest, + ...propTests.requiredPropTest, + ...propTests.sizePropTest, + ...mixPropTests([ + propTests.fullWidthPropTest, + propTests.layoutPropTest, + ]), + ...mixPropTests([ + propTests.requiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.renderAsRequiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.disabledPropTest, + propTests.validationStatePropTest, + propTests.variantPropTest, + ]), + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot({ animations: 'disabled' }); + expect(screenshot).toMatchSnapshot(); + }); + }); + + /** + * Full page screenshot is required for option tests + * because native select options are rendered outside of the DOM. + */ + test.describe('fullPage', () => { + [ + ...openSelectFieldOptionsTest, + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await page.screenshot({ animations: 'disabled' }); + expect(screenshot).toMatchSnapshot({ maxDiffPixelRatio: 0.001 }); + }); + }); + }); + }); + + test.describe('non-visual', () => { + test('Have partially disabled group options', async ({ mount }) => { + const component = await mount( + , + ); + + await expect(component.getByRole('combobox').getByText(groupedOptions[0].options[0].label)).not.toHaveAttribute('disabled', ''); + await expect(component.getByRole('combobox').getByText(groupedOptions[0].options[1].label)).toHaveAttribute('disabled', ''); + }); + + test('Have partially disabled base options', async ({ mount }) => { + const partiallyDisabledBaseOptions = [ + ...baseOptions, + { + disabled: true, + key: 'key3', + label: 'option3', + value: 'value3', + }, + ]; + const component = await mount( + , + ); + + await expect(component.getByRole('combobox').getByText(partiallyDisabledBaseOptions[0].label)).not.toHaveAttribute('disabled', ''); + await expect(component.getByRole('combobox').getByText(partiallyDisabledBaseOptions[1].label)).not.toHaveAttribute('disabled', ''); + await expect(component.getByRole('combobox').getByText(partiallyDisabledBaseOptions[2].label)).toHaveAttribute('disabled', ''); + }); + + test('id', async ({ mount }) => { + const testId = 'testId'; + const testLabel = 'testLabel'; + const testHelpText = 'testHelpText'; + const testValidationText = 'testValidationText'; + + const component = await mount( + , + ); + + await expect(component.getByRole('combobox')).toHaveAttribute('id', testId); + await expect(component.getByRole('option').first()).toHaveAttribute('id', `${testId}__item__${baseOptions[0].key}`); + await expect(component.getByRole('option').last()).toHaveAttribute('id', `${testId}__item__${baseOptions[1].value}`); + await expect(component.getByText(testHelpText)).toHaveAttribute('id', `${testId}__helpText`); + await expect(component.getByText(testValidationText)).toHaveAttribute('id', `${testId}__validationText`); + await expect(component.getByText(testLabel)).toHaveAttribute('id', `${testId}__labelText`); + await expect(component).toHaveAttribute('id', `${testId}__label`); + }); + + test('ref', async ({ mount }) => { + const component = await mount( + , + ); + + await expect(component.getByRole('combobox')).toHaveAttribute('test-ref', 'test-ref-value'); + }); + }); + + test.describe('functionality', () => { + test('calls synthetic event onChange() on changing selected option', async ({ mount }) => { + let changeCalled = false; + + const component = await mount( + { changeCalled = true; }} + options={baseOptions} + value={baseOptions[0].value} + />, + ); + + await component.getByRole('combobox').selectOption(baseOptions[1].value); + expect(changeCalled).toBeTruthy(); + }); + + test('change options on down key press', async ({ mount }) => { + let changeCalled = false; + + const component = await mount( + { changeCalled = true; }} + options={baseOptions} + value={baseOptions[0].value} + />, + ); + + const select = component.getByRole('combobox'); + await select.focus(); + await select.press('ArrowDown'); + expect(changeCalled).toBeTruthy(); + }); + test('change options on up key press', async ({ mount }) => { + let changeCalled = false; + + const component = await mount( + { changeCalled = true; }} + options={baseOptions} + value={baseOptions[1].value} + />, + ); + + const select = component.getByRole('combobox'); + await select.focus(); + await select.press('ArrowUp'); + expect(changeCalled).toBeTruthy(); + }); + }); + }); + + test.describe('formLayout', () => { + test.describe('visual', () => { + [ + ...propTests.layoutPropTest, + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot({ animations: 'disabled' }); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + }); +}); diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-defaultComponentProps-object-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-defaultComponentProps-object-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-defaultComponentProps-object-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-3bd93-State-string-warning-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-3bd93-State-string-warning-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..63b9d2e1c Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-3bd93-State-string-warning-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-54baf-State-string-invalid-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-54baf-State-string-invalid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..4de8ccf2d Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-54baf-State-string-invalid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-71d4b-onState-string-valid-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-71d4b-onState-string-valid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..fb65808bf Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-71d4b-onState-string-valid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-86f74-ationState-undefined-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-86f74-ationState-undefined-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-86f74-ationState-undefined-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-a924c-nState-string-warning-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-a924c-nState-string-warning-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..9ac6b86be Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-a924c-nState-string-warning-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-d6799-ionState-string-valid-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-d6799-ionState-string-valid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..9e4ace079 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-d6799-ionState-string-valid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-e8da1-nState-string-invalid-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-e8da1-nState-string-invalid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..11c5c528c Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-e8da1-nState-string-invalid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-validationState-undefined-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-validationState-undefined-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..03d5acefc Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-false-validationState-undefined-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--2d55e-nState-string-warning-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--2d55e-nState-string-warning-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..025584d23 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--2d55e-nState-string-warning-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--36992-State-string-warning-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--36992-State-string-warning-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..31d0e089f Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--36992-State-string-warning-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--7f8b2-nState-string-invalid-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--7f8b2-nState-string-invalid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..6bd095357 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--7f8b2-nState-string-invalid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--a9d71-ionState-string-valid-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--a9d71-ionState-string-valid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..166bd5e17 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--a9d71-ionState-string-valid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--d3eeb-State-string-invalid-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--d3eeb-State-string-invalid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..86dc958a3 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--d3eeb-State-string-invalid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--d4789-onState-string-valid-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--d4789-onState-string-valid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..8bc2752ed Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true--d4789-onState-string-valid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true-validationState-undefined-variant-string-filled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true-validationState-undefined-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..4bd46a21e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true-validationState-undefined-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true-validationState-undefined-variant-string-outline-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true-validationState-undefined-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..b2eb56551 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-disabled-boolean-true-validationState-undefined-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-defaultOpened-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-defaultOpened-1-chromium-linux.png new file mode 100644 index 000000000..b32d01374 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-defaultOpened-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-defaultPartiallyDisabled-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-defaultPartiallyDisabled-1-chromium-linux.png new file mode 100644 index 000000000..c943953ce Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-defaultPartiallyDisabled-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-grouped-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-grouped-1-chromium-linux.png new file mode 100644 index 000000000..4ef8b051c Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-grouped-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-partiallyDisabledGrouped-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-partiallyDisabledGrouped-1-chromium-linux.png new file mode 100644 index 000000000..43609e7e0 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullPage-options-shape-partiallyDisabledGrouped-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-false-layout-string-horizontal-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-false-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..7951a6230 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-false-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-false-layout-string-vertical-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-false-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-false-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-true-layout-string-horizontal-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-true-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..c40d2ebd3 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-true-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-true-layout-string-vertical-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-true-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..c72368c8f Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-fullWidth-boolean-true-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-string-validationText-string-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-string-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..a8176265f Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-string-validationText-string-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png new file mode 100644 index 000000000..946dc1912 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..e81f7a7be Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..05c8446fd Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-label-node-normal-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-label-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..9a36caada Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-label-node-normal-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-label-string-long-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-label-string-long-1-chromium-linux.png new file mode 100644 index 000000000..a833930bc Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-label-string-long-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..4de8ccf2d Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..fb65808bf Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..63b9d2e1c Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..2fc66b36a Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..cf03f7c57 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..dc8c75bfc Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..c7af08f61 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..2fc66b36a Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-renderAsRequired-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..4de8ccf2d Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..fb65808bf Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..63b9d2e1c Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..2fc66b36a Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..cf03f7c57 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..dc8c75bfc Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..c7af08f61 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..2fc66b36a Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-large-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-large-1-chromium-linux.png new file mode 100644 index 000000000..a4031919a Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-large-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-medium-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-medium-1-chromium-linux.png new file mode 100644 index 000000000..16f912a5e Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-medium-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-small-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-small-1-chromium-linux.png new file mode 100644 index 000000000..b55379590 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-base-visual-size-string-small-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-formLayout-visual-layout-string-horizontal-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-formLayout-visual-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..cde2352f1 Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-formLayout-visual-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-formLayout-visual-layout-string-vertical-1-chromium-linux.png b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-formLayout-visual-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..339650dbd Binary files /dev/null and b/src/components/SelectField/__tests__/SelectField.spec.tsx-snapshots/SelectField-formLayout-visual-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/SelectField/__tests__/SelectField.story.tsx b/src/components/SelectField/__tests__/SelectField.story.tsx new file mode 100644 index 000000000..67964723f --- /dev/null +++ b/src/components/SelectField/__tests__/SelectField.story.tsx @@ -0,0 +1,88 @@ +import React, { + useEffect, + useMemo, + useRef, +} from 'react'; +import type { InputHTMLAttributes } from 'react'; +import { FormLayoutContext } from '../../FormLayout'; +import { SelectField } from '..'; + +type SelectFieldForTestProps = InputHTMLAttributes; +type SelectFieldForRefTestProps = SelectFieldForTestProps & { + testRefAttrName: string; + testRefAttrValue: string; +}; +export type SelectFieldForFormLayoutTestsProps = SelectFieldForTestProps & { + layout: 'vertical' | 'horizontal' +}; + +const defaultLabel = 'test-label'; +const defaultOptions = [ + { + disabled: false, + key: 'key1', + label: 'option1', + value: 'value1', + }, + { + disabled: false, + key: 'key2', + label: 'option2', + value: 'value2', + }, +]; + +export const SelectFieldForTest = ({ + ...props +}: SelectFieldForTestProps) => ( + +); + +export const SelectFieldForRefTest = ({ + testRefAttrName, + testRefAttrValue, + ...props +}: SelectFieldForRefTestProps) => { + const ref = useRef(undefined); + + useEffect(() => { + ref.current?.setAttribute(testRefAttrName, testRefAttrValue); + }, [testRefAttrName, testRefAttrValue]); + + return ( + + ); +}; + +export const SelectFieldForFormLayoutTests = ({ + layout, + ...props +} : SelectFieldForFormLayoutTestsProps) => { + const values = useMemo(() => ({ layout }), [layout]); + + return ( + + + + + ); +}; diff --git a/src/components/SelectField/__tests__/SelectField.test.jsx b/src/components/SelectField/__tests__/SelectField.test.jsx deleted file mode 100644 index a77966747..000000000 --- a/src/components/SelectField/__tests__/SelectField.test.jsx +++ /dev/null @@ -1,143 +0,0 @@ -import React from 'react'; -import { - render, - screen, - within, -} from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import { SelectField } from '../SelectField'; -import { disabledPropTest } from '../../../../tests/jest/propTests/disabledPropTest'; -import { refPropTest } from '../../../../tests/jest/propTests/refPropTest'; -import { fullWidthPropTest } from '../../../../tests/jest/propTests/fullWidthPropTest'; -import { helpTextPropTest } from '../../../../tests/jest/propTests/helpTextPropTest'; -import { formLayoutProviderTest } from '../../../../tests/jest/providerTests/formLayoutProviderTest'; -import { isLabelVisibleTest } from '../../../../tests/jest/propTests/isLabelVisibleTest'; -import { labelPropTest } from '../../../../tests/jest/propTests/labelPropTest'; -import { layoutPropTest } from '../../../../tests/jest/propTests/layoutPropTest'; -import { renderAsRequiredPropTest } from '../../../../tests/jest/propTests/renderAsRequiredPropTest'; -import { requiredPropTest } from '../../../../tests/jest/propTests/requiredPropTest'; -import { sizePropTest } from '../../../../tests/jest/propTests/sizePropTest'; -import { validationStatePropTest } from '../../../../tests/jest/propTests/validationStatePropTest'; -import { validationTextPropTest } from '../../../../tests/jest/propTests/validationTextPropTest'; -import { variantPropTest } from '../../../../tests/jest/propTests/variantPropTest'; - -const mandatoryProps = { - label: 'label', - options: [ - { - label: 'option 1', - value: 1, - }, - { - disabled: true, - key: 'key', - label: 'option 2', - value: 'option2', - }, - ], -}; - -const optgroupOptions = [ - { - key: 'optgroup_key', - label: 'optgroup', - options: [ - { - label: 'option 3', - value: 3, - }, - { - disabled: true, - key: 'key', - label: 'option 4', - value: 'option4', - }, - ], - }, -]; - -describe('rendering', () => { - formLayoutProviderTest(); - - it.each([ - ...disabledPropTest, - ...refPropTest(React.createRef()), - ...fullWidthPropTest, - ...helpTextPropTest, - [ - { - helpText: 'help text', - id: 'id', - validationText: 'validation text', - }, - (rootElement) => { - expect(within(rootElement).getByTestId('id')); - expect(rootElement).toHaveAttribute('id', 'id__label'); - expect(within(rootElement).getByText('help text')).toHaveAttribute('id', 'id__helpText'); - expect(within(rootElement).getByText('label')).toHaveAttribute('id', 'id__labelText'); - expect(within(rootElement).getByText('validation text')).toHaveAttribute('id', 'id__validationText'); - expect(within(rootElement).getByTestId('id__item__1')); - }, - ], - ...isLabelVisibleTest(), - ...labelPropTest(), - ...layoutPropTest, - [ - { - id: 'id', - options: mandatoryProps.options, - }, - (rootElement) => { - expect(within(rootElement).getByText('option 1')).not.toHaveAttribute('checked'); - expect(within(rootElement).getByText('option 2')).not.toHaveAttribute('checked'); - expect(within(rootElement).getByText('option 2')).toBeDisabled(); - expect(within(rootElement).getByText('option 1')).toHaveAttribute('id', 'id__item__1'); - expect(within(rootElement).getByText('option 2')).toHaveAttribute('id', 'id__item__key'); - }, - ], - [ - { - id: 'id', - options: optgroupOptions, - }, - (rootElement) => { - expect(within(rootElement).getByText('option 3')).not.toHaveAttribute('checked'); - expect(within(rootElement).getByText('option 4')).not.toHaveAttribute('checked'); - expect(within(rootElement).getByText('option 4')).toBeDisabled(); - expect(within(rootElement).getByText('option 3')).toHaveAttribute('id', 'id__item__3'); - expect(within(rootElement).getByText('option 4')).toHaveAttribute('id', 'id__item__key'); - }, - ], - ...renderAsRequiredPropTest, - ...requiredPropTest, - ...sizePropTest, - ...validationStatePropTest, - ...validationTextPropTest, - ...variantPropTest, - ])('renders with props: "%s"', (testedProps, assert) => { - const dom = render(( - - )); - - assert(dom.container.firstChild); - }); -}); - -describe('functionality', () => { - it('calls synthetic event onChange() on changing selected option', async () => { - const spy = jest.fn(); - render(( - - )); - - await userEvent.selectOptions(screen.getByDisplayValue('option 2'), '1'); - expect(spy).toHaveBeenCalled(); - }); -}); diff --git a/src/components/SelectField/__tests__/_propTests/openSelectFieldOptionsTest.ts b/src/components/SelectField/__tests__/_propTests/openSelectFieldOptionsTest.ts new file mode 100644 index 000000000..babd2cc1f --- /dev/null +++ b/src/components/SelectField/__tests__/_propTests/openSelectFieldOptionsTest.ts @@ -0,0 +1,94 @@ +import type { PropTests } from '../../../../../tests/playwright/types'; + +const partiallyDisabledBaseOptions = [ + { + disabled: false, + key: 'key1', + label: 'option1', + value: 'value1', + }, + { + disabled: true, + key: 'key2', + label: 'option2', + value: 'value2', + }, +]; + +const groupedOptions = [ + { + key: 'optgroup_key1', + label: 'optgroup1', + options: [ + { + disabled: false, + label: 'option1', + value: 'value1', + }, + { + disabled: false, + label: 'option2', + value: 'value2', + }, + ], + }, +]; + +const partiallyDisabledGroupOptions = [ + ...groupedOptions, + { + key: 'optgroup_key2', + label: 'optgroup2', + options: [ + { + disabled: true, + label: 'option3', + value: 'value3', + }, + { + disabled: false, + label: 'option4', + value: 'value4', + }, + ], + }, +]; + +export const openSelectFieldOptionsTest: PropTests = [ + { + name: 'options:shape[defaultOpened]', + onBeforeSnapshot: async (page, component) => { + const select = component.getByRole('combobox'); + await select.click(); + await page.waitForTimeout(500); + }, + props: {}, + }, + { + name: 'options:shape[defaultPartiallyDisabled]', + onBeforeSnapshot: async (page, component) => { + const select = component.getByRole('combobox'); + await select.click(); + await page.waitForTimeout(500); + }, + props: { options: partiallyDisabledBaseOptions }, + }, + { + name: 'options:shape[grouped]', + onBeforeSnapshot: async (page, component) => { + const select = component.getByRole('combobox'); + await select.click(); + await page.waitForTimeout(500); + }, + props: { options: groupedOptions }, + }, + { + name: 'options:shape[partiallyDisabledGrouped]', + onBeforeSnapshot: async (page, component) => { + const select = component.getByRole('combobox'); + await select.click(); + await page.waitForTimeout(500); + }, + props: { options: partiallyDisabledGroupOptions }, + }, +]; diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx b/src/components/TextArea/__tests__/TextArea.spec.tsx new file mode 100644 index 000000000..3dca0ff32 --- /dev/null +++ b/src/components/TextArea/__tests__/TextArea.spec.tsx @@ -0,0 +1,159 @@ +import React from 'react'; +import { + expect, + test, +} from '@playwright/experimental-ct-react'; +import { + mixPropTests, + propTests, +} from '../../../../tests/playwright'; +import { + TextAreaForTest, + TextAreaForRefTest, + TextAreaForFormLayoutTests, +} from './TextArea.story'; +import type { TextAreaForFormLayoutTestsProps } from './TextArea.story'; + +test.describe('TextArea', () => { + test.describe('base', () => { + test.describe('visual', () => { + [ + ...propTests.defaultComponentPropTest, + ...propTests.helpTextAndValidationTextPropType, + ...propTests.isLabelVisiblePropTest, + ...propTests.labelPropTest, + ...propTests.requiredPropTest, + ...propTests.sizePropTest, + ...mixPropTests([ + propTests.fullWidthPropTest, + propTests.layoutPropTest, + ]), + ...mixPropTests([ + propTests.requiredPropTest, + propTests.validationStatePropTest, + ]), + ...mixPropTests([ + propTests.disabledPropTest, + propTests.validationStatePropTest, + propTests.variantPropTest, + ]), + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot(); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + + test.describe('non-visual', () => { + test('id', async ({ mount }) => { + const testId = 'testId'; + const testLabel = 'testLabel'; + const testHelpText = 'testHelpText'; + const testValidationText = 'testValidationText'; + + const component = await mount( + , + ); + + await expect(component).toHaveAttribute('id', `${testId}__label`); + await expect(component.getByText(testLabel)).toHaveAttribute('id', `${testId}__labelText`); + await expect(component.getByText(testHelpText)).toHaveAttribute('id', `${testId}__helpText`); + await expect(component.getByText(testValidationText)).toHaveAttribute('id', `${testId}__validationText`); + await expect(component.getByRole('textbox')).toHaveAttribute('id', testId); + }); + + test('ref', async ({ mount }) => { + const component = await mount( + , + ); + + await expect(component.getByRole('textbox')).toHaveAttribute('test-ref', 'test-ref-value'); + }); + }); + + test.describe('functionality', () => { + test('calls synthetic event onChange() on typing', async ({ mount }) => { + let clickedCount = 0; + const value = 'testValue'; + + const component = await mount( + { + clickedCount += 1; + }} + value={value} + />, + ); + + await component.getByRole('textbox').pressSequentially(value); + expect(clickedCount).toBe(value.length); + }); + }); + }); + + test.describe('formLayout', () => { + test.describe('visual', () => { + [ + ...propTests.layoutPropTest, + ].forEach(({ + name, + onBeforeTest, + onBeforeSnapshot, + props, + }) => { + test(name, async ({ + mount, + page, + }) => { + if (onBeforeTest) { + await onBeforeTest(page); + } + + const component = await mount( + , + ); + + if (onBeforeSnapshot) { + await onBeforeSnapshot(page, component); + } + + const screenshot = await component.screenshot(); + expect(screenshot).toMatchSnapshot(); + }); + }); + }); + }); +}); diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-defaultComponentProps-object-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-defaultComponentProps-object-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-defaultComponentProps-object-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--1b842-nState-string-warning-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--1b842-nState-string-warning-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..a5a487e65 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--1b842-nState-string-warning-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--6e775-onState-string-valid-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--6e775-onState-string-valid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..434252063 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--6e775-onState-string-valid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--c3763-State-string-warning-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--c3763-State-string-warning-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..45b9f7ac0 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--c3763-State-string-warning-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--e6ca7-nState-string-invalid-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--e6ca7-nState-string-invalid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..c3fb89142 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--e6ca7-nState-string-invalid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--e8c99-State-string-invalid-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--e8c99-State-string-invalid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..8130fe65e Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false--e8c99-State-string-invalid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-string-valid-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-string-valid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..5ed2c9fee Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-string-valid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-undefined-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-undefined-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..a21883a2e Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-undefined-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-undefined-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-undefined-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-false-validationState-undefined-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-43a76-State-string-invalid-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-43a76-State-string-invalid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..d2820044e Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-43a76-State-string-invalid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-bf3d8-nState-string-warning-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-bf3d8-nState-string-warning-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..1f2654588 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-bf3d8-nState-string-warning-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-bf6a0-State-string-warning-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-bf6a0-State-string-warning-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..5037405a2 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-bf6a0-State-string-warning-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-ddd41-nState-string-invalid-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-ddd41-nState-string-invalid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..e0133e227 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-v-ddd41-nState-string-invalid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-string-valid-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-string-valid-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..02a58a27a Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-string-valid-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-string-valid-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-string-valid-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..4f2d5789f Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-string-valid-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-undefined-variant-string-filled-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-undefined-variant-string-filled-1-chromium-linux.png new file mode 100644 index 000000000..075eb66d2 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-undefined-variant-string-filled-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-undefined-variant-string-outline-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-undefined-variant-string-outline-1-chromium-linux.png new file mode 100644 index 000000000..b16c85f55 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-disabled-boolean-true-validationState-undefined-variant-string-outline-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-false-layout-string-horizontal-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-false-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..add5dc8e7 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-false-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-false-layout-string-vertical-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-false-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-false-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-true-layout-string-horizontal-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-true-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..9140f0438 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-true-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-true-layout-string-vertical-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-true-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..2a49d56d4 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-fullWidth-boolean-true-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-string-validationText-string-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-string-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..4873e9045 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-string-validationText-string-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png new file mode 100644 index 000000000..5ec04f42f Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-string-validationText-undefined-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png new file mode 100644 index 000000000..1dd2b8cda Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-helpText-undefined-validationText-string-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..71b5daa4b Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-isLabelVisible-boolean-false-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-isLabelVisible-boolean-true-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-label-node-normal-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-label-node-normal-1-chromium-linux.png new file mode 100644 index 000000000..3ab492a39 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-label-node-normal-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-label-string-long-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-label-string-long-1-chromium-linux.png new file mode 100644 index 000000000..a3ac615ae Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-label-string-long-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..8130fe65e Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..434252063 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..45b9f7ac0 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-false-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-1-chromium-linux.png new file mode 100644 index 000000000..507777f25 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png new file mode 100644 index 000000000..807ef3bdd Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-invalid-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png new file mode 100644 index 000000000..ffe844710 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-valid-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png new file mode 100644 index 000000000..3a2714f96 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-string-warning-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png new file mode 100644 index 000000000..507777f25 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-required-boolean-true-validationState-undefined-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-large-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-large-1-chromium-linux.png new file mode 100644 index 000000000..bd0f31cba Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-large-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-medium-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-medium-1-chromium-linux.png new file mode 100644 index 000000000..3263d8703 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-medium-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-small-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-small-1-chromium-linux.png new file mode 100644 index 000000000..9003d2f18 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-base-visual-size-string-small-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-formLayout-visual-layout-string-horizontal-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-formLayout-visual-layout-string-horizontal-1-chromium-linux.png new file mode 100644 index 000000000..a2bcdadf5 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-formLayout-visual-layout-string-horizontal-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-formLayout-visual-layout-string-vertical-1-chromium-linux.png b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-formLayout-visual-layout-string-vertical-1-chromium-linux.png new file mode 100644 index 000000000..68438b986 Binary files /dev/null and b/src/components/TextArea/__tests__/TextArea.spec.tsx-snapshots/TextArea-formLayout-visual-layout-string-vertical-1-chromium-linux.png differ diff --git a/src/components/TextArea/__tests__/TextArea.story.tsx b/src/components/TextArea/__tests__/TextArea.story.tsx new file mode 100644 index 000000000..daab773e1 --- /dev/null +++ b/src/components/TextArea/__tests__/TextArea.story.tsx @@ -0,0 +1,71 @@ +import React, { + useEffect, + useMemo, + useRef, +} from 'react'; +import type { TextareaHTMLAttributes } from 'react'; +import { FormLayoutContext } from '../../FormLayout'; +import { TextArea } from '..'; + +// Types for story component will be improved when we have full TypeScript support +type TextAreaForTestProps = TextareaHTMLAttributes; +type TextAreaForRefTestProps = TextAreaForTestProps & { + testRefAttrName: string; + testRefAttrValue: string; +}; +export type TextAreaForFormLayoutTestsProps = TextAreaForTestProps & { + layout: 'vertical' | 'horizontal' +}; + +const defaultLabel = 'test-label'; + +export const TextAreaForTest = ({ + ...props +} : TextAreaForTestProps) => ( +