@@ -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' } ) ;
@@ -1925,4 +1929,36 @@ describe('managerApi', () => {
1925
1929
expect ( onSubmit ) . not . toHaveBeenCalled ( ) ;
1926
1930
} ) ;
1927
1931
} ) ;
1932
+
1933
+ it ( 'set form dirty and pristine according to fields' , ( ) => {
1934
+ const onSubmit = jest . fn ( ) ;
1935
+
1936
+ const managerApi = createManagerApi ( { onSubmit } ) ;
1937
+
1938
+ managerApi ( ) . registerField ( { name : 'field' , render : jest . fn ( ) , internalId : 1 } ) ;
1939
+ managerApi ( ) . registerField ( { name : 'field2' , render : jest . fn ( ) , internalId : 1 , initialValue : 'initial' } ) ;
1940
+
1941
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( true ) ;
1942
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( false ) ;
1943
+
1944
+ managerApi ( ) . change ( 'field' , 'foo' ) ;
1945
+
1946
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( false ) ;
1947
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( true ) ;
1948
+
1949
+ managerApi ( ) . change ( 'field2' , 'initial-123' ) ;
1950
+
1951
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( false ) ;
1952
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( true ) ;
1953
+
1954
+ managerApi ( ) . change ( 'field' , undefined ) ;
1955
+
1956
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( false ) ;
1957
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( true ) ;
1958
+
1959
+ managerApi ( ) . change ( 'field2' , 'initial' ) ;
1960
+
1961
+ expect ( managerApi ( ) . getState ( ) . pristine ) . toEqual ( true ) ;
1962
+ expect ( managerApi ( ) . getState ( ) . dirty ) . toEqual ( false ) ;
1963
+ } ) ;
1928
1964
} ) ;
0 commit comments