@@ -7,6 +7,7 @@ import { testDataProvider } from '../dataProvider';
77import { Form } from './Form' ;
88import { useInput , InputProps , UseInputValue } from './useInput' ;
99import { required } from './validation/validate' ;
10+ import { DefaultValue } from './useInput.stories' ;
1011
1112const Input : FunctionComponent <
1213 {
@@ -172,30 +173,25 @@ describe('useInput', () => {
172173
173174 describe ( 'defaultValue' , ( ) => {
174175 it ( 'applies the defaultValue when input does not have a value' , ( ) => {
175- const onSubmit = jest . fn ( ) ;
176- render (
177- < CoreAdminContext dataProvider = { testDataProvider ( ) } >
178- < Form onSubmit = { onSubmit } >
179- < Input
180- source = "title"
181- resource = "posts"
182- defaultValue = "foo"
183- >
184- { ( { id, field } ) => {
185- return (
186- < input
187- type = "text"
188- id = { id }
189- aria-label = "Title"
190- { ...field }
191- />
192- ) ;
193- } }
194- </ Input >
195- </ Form >
196- </ CoreAdminContext >
197- ) ;
198- expect ( screen . queryByDisplayValue ( 'foo' ) ) . not . toBeNull ( ) ;
176+ render ( < DefaultValue initialValue = { undefined } /> ) ;
177+ expect ( screen . queryByDisplayValue ( 'default value' ) ) . not . toBeNull ( ) ;
178+ } ) ;
179+
180+ it ( 'does not apply the defaultValue when input has a value' , ( ) => {
181+ render ( < DefaultValue initialValue = "initial value" /> ) ;
182+ expect ( screen . queryByDisplayValue ( 'default value' ) ) . toBeNull ( ) ;
183+ expect ( screen . queryByDisplayValue ( 'initial value' ) ) . not . toBeNull ( ) ;
184+ } ) ;
185+
186+ it ( 'does not apply the defaultValue when input has an empty string value' , ( ) => {
187+ render ( < DefaultValue initialValue = "" /> ) ;
188+ expect ( screen . queryByDisplayValue ( 'default value' ) ) . toBeNull ( ) ;
189+ } ) ;
190+
191+ it ( 'does not apply the defaultValue when input has a null value' , ( ) => {
192+ render ( < DefaultValue initialValue = { null } /> ) ;
193+ expect ( screen . queryByDisplayValue ( 'default value' ) ) . toBeNull ( ) ;
194+ expect ( screen . queryByDisplayValue ( '' ) ) . not . toBeNull ( ) ;
199195 } ) ;
200196
201197 it ( 'does not apply the defaultValue when input has a value of 0' , ( ) => {
0 commit comments