@@ -60,7 +60,11 @@ describe('managerApi', () => {
60
60
61
61
describe ( 'change' , ( ) => {
62
62
it ( 'should change the managerApi state' , ( ) => {
63
+ const render = jest . fn ( ) ;
64
+
63
65
const managerApi = createManagerApi ( { } ) ;
66
+ managerApi ( ) . registerField ( { name : 'foo' , render, internalId : '1' } ) ;
67
+
64
68
managerApi ( ) . change ( 'foo' , 'bar' ) ;
65
69
66
70
expect ( managerApi ( ) . values ) . toEqual ( { foo : 'bar' } ) ;
@@ -1942,4 +1946,36 @@ describe('managerApi', () => {
1942
1946
expect ( onSubmit ) . not . toHaveBeenCalled ( ) ;
1943
1947
} ) ;
1944
1948
} ) ;
1949
+
1950
+ it ( 'set form dirty and pristine according to fields' , ( ) => {
1951
+ const onSubmit = jest . fn ( ) ;
1952
+
1953
+ const managerApi = createManagerApi ( { onSubmit } ) ;
1954
+
1955
+ managerApi ( ) . registerField ( { name : 'field' , render : jest . fn ( ) , internalId : 1 } ) ;
1956
+ managerApi ( ) . registerField ( { name : 'field2' , render : jest . fn ( ) , internalId : 1 , initialValue : 'initial' } ) ;
1957
+
1958
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( true ) ;
1959
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( false ) ;
1960
+
1961
+ managerApi ( ) . change ( 'field' , 'foo' ) ;
1962
+
1963
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( false ) ;
1964
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( true ) ;
1965
+
1966
+ managerApi ( ) . change ( 'field2' , 'initial-123' ) ;
1967
+
1968
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( false ) ;
1969
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( true ) ;
1970
+
1971
+ managerApi ( ) . change ( 'field' , undefined ) ;
1972
+
1973
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( false ) ;
1974
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( true ) ;
1975
+
1976
+ managerApi ( ) . change ( 'field2' , 'initial' ) ;
1977
+
1978
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( true ) ;
1979
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( false ) ;
1980
+ } ) ;
1945
1981
} ) ;
0 commit comments