From 9c31f0745a7373da1c1c214b4ac6a6dc9ffea8d3 Mon Sep 17 00:00:00 2001 From: Ben Howell Date: Wed, 7 Sep 2022 09:22:30 -0700 Subject: [PATCH 1/2] Add screener tests for Field --- apps/vr-tests-react-components/package.json | 1 + .../src/stories/Field.stories.tsx | 123 ++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 apps/vr-tests-react-components/src/stories/Field.stories.tsx diff --git a/apps/vr-tests-react-components/package.json b/apps/vr-tests-react-components/package.json index 1d8539ff65287..dfec01568ca74 100644 --- a/apps/vr-tests-react-components/package.json +++ b/apps/vr-tests-react-components/package.json @@ -24,6 +24,7 @@ "@fluentui/react-card": "9.0.0-beta.24", "@fluentui/react-checkbox": "^9.0.4", "@fluentui/react-divider": "^9.0.4", + "@fluentui/react-field": "9.0.0-alpha.0", "@fluentui/react-icons": "^2.0.175", "@fluentui/react-image": "^9.0.4", "@fluentui/react-input": "^9.0.4", diff --git a/apps/vr-tests-react-components/src/stories/Field.stories.tsx b/apps/vr-tests-react-components/src/stories/Field.stories.tsx new file mode 100644 index 0000000000000..a3879c0c7dbea --- /dev/null +++ b/apps/vr-tests-react-components/src/stories/Field.stories.tsx @@ -0,0 +1,123 @@ +import * as React from 'react'; +import Screener, { Steps } from 'screener-storybook/src/screener'; +import { storiesOf } from '@storybook/react'; +import { Radio } from '@fluentui/react-radio'; +import { + CheckboxField, + ComboboxField, + InputField, + InputFieldProps, + RadioGroupField, + SelectField, + SliderField, + SpinButtonField, + SwitchField, + TextareaField, +} from '@fluentui/react-field'; +import { SparkleFilled } from '@fluentui/react-icons'; + +const AllFields = ( + props: Pick< + InputFieldProps, + 'orientation' | 'required' | 'label' | 'validationState' | 'validationMessage' | 'validationMessageIcon' | 'hint' + >, +) => { + return ( +
+ + + + + + + + + + + + + + + +
+ ); +}; + +const AllFieldsWithValidationMessage = ( + props: Pick, +) => { + type ValidationProps = Pick; + const error: ValidationProps = { validationState: 'error', validationMessage: 'Error message' }; + const warning: ValidationProps = { validationState: 'warning', validationMessage: 'Warning message' }; + const success: ValidationProps = { validationState: 'success', validationMessage: 'Success message' }; + const custom: ValidationProps = { validationMessage: 'Custom message', validationMessageIcon: }; + + return ( +
+ + + + + + + + + + + + + + + +
+ ); +}; + +storiesOf('Field Converged', module) + .addDecorator(story => ( +
+
+ {story()} +
+
+ )) + .addStory('base', () => ) + .addStory('required', () => ) + .addStory('validationMessage', () => ) + .addStory('hint', () => ) + .addStory('horizontal', () => ) + .addStory('horizontal+long-label', () => ( + + )) + .addStory('Horizontal+validationMessage+hint', () => ( + + )) + .addStory('size=small', () => ( +
+ + + + + + + + +
+ )) + .addStory('size=large', () => ( +
+ + + + + + + +
+ )) + .addStory('CheckboxField+fieldLabel', () => ( + + )); From ba197a085c76b63557a915a3c4ec6e053cb1aaf3 Mon Sep 17 00:00:00 2001 From: Ben Howell Date: Wed, 7 Sep 2022 17:38:36 -0700 Subject: [PATCH 2/2] Separate snapshot per validation state --- .../src/stories/Field.stories.tsx | 47 +++++-------------- 1 file changed, 11 insertions(+), 36 deletions(-) diff --git a/apps/vr-tests-react-components/src/stories/Field.stories.tsx b/apps/vr-tests-react-components/src/stories/Field.stories.tsx index a3879c0c7dbea..827ba779dda75 100644 --- a/apps/vr-tests-react-components/src/stories/Field.stories.tsx +++ b/apps/vr-tests-react-components/src/stories/Field.stories.tsx @@ -43,36 +43,6 @@ const AllFields = ( ); }; -const AllFieldsWithValidationMessage = ( - props: Pick, -) => { - type ValidationProps = Pick; - const error: ValidationProps = { validationState: 'error', validationMessage: 'Error message' }; - const warning: ValidationProps = { validationState: 'warning', validationMessage: 'Warning message' }; - const success: ValidationProps = { validationState: 'success', validationMessage: 'Success message' }; - const custom: ValidationProps = { validationMessage: 'Custom message', validationMessageIcon: }; - - return ( -
- - - - - - - - - - - - - - - -
- ); -}; - storiesOf('Field Converged', module) .addDecorator(story => (
@@ -83,19 +53,24 @@ storiesOf('Field Converged', module) )) .addStory('base', () => ) .addStory('required', () => ) - .addStory('validationMessage', () => ) + .addStory('validation:error', () => ) + .addStory('validation:warning', () => ) + .addStory('validation:success', () => ) + .addStory('validation:custom', () => ( + } validationMessage="Custom message" /> + )) .addStory('hint', () => ) .addStory('horizontal', () => ) - .addStory('horizontal+long-label', () => ( + .addStory('horizontal+label:multiline', () => ( )) - .addStory('Horizontal+validationMessage+hint', () => ( - + .addStory('horizontal+validation:error+hint', () => ( + )) - .addStory('size=small', () => ( + .addStory('size:small', () => (
@@ -107,7 +82,7 @@ storiesOf('Field Converged', module)
)) - .addStory('size=large', () => ( + .addStory('size:large', () => (