@@ -15,6 +15,8 @@ describe('validatorMiddleware', () => {
15
15
{ forename :
'Heidi' , surname :
' Muster' , email :
'[email protected] ' } ,
16
16
{ forename :
'Joe' , surname :
'Doe' , email :
' [email protected] ' }
17
17
] ;
18
+ const trimTransformer = ( value : string ) => value . trim ( ) ;
19
+ const markTransformer = ( value : string ) => `${ value } !` ;
18
20
19
21
it ( 'should not dispatch if there are no transformers' , ( ) => {
20
22
const state : State < TestType > = { columns : defaultColumns } ;
@@ -25,8 +27,7 @@ describe('validatorMiddleware', () => {
25
27
} ) ;
26
28
27
29
it ( 'should run a transformer on all values' , ( ) => {
28
- const trimTransformer = ( value : string ) => value . trim ( ) ;
29
- const state : State < TestType > = { columns : defaultColumns , transformers : [ { transformer : trimTransformer } ] } ;
30
+ const state : State < TestType > = { columns : defaultColumns , transformers : [ trimTransformer ] } ;
30
31
const dispatchMock = jest . fn ( ) ;
31
32
32
33
middleware ( state , dispatchMock , { type : 'setParsed' , parsed } ) ;
@@ -42,10 +43,12 @@ describe('validatorMiddleware', () => {
42
43
} ) ;
43
44
44
45
it ( 'should run transformers on values of a certain column' , ( ) => {
45
- const trimTransformer = ( value : string ) => value . trim ( ) ;
46
46
const state : State < TestType > = {
47
- columns : defaultColumns ,
48
- transformers : [ { transformer : trimTransformer , column : 'surname' } ]
47
+ columns : [
48
+ { key : 'forename' , label : 'Forename' } ,
49
+ { key : 'surname' , label : 'Surname' , transformers : [ trimTransformer , markTransformer ] } ,
50
+ { key : 'email' , label : 'Email' }
51
+ ]
49
52
} ;
50
53
const dispatchMock = jest . fn ( ) ;
51
54
@@ -54,9 +57,9 @@ describe('validatorMiddleware', () => {
54
57
expect ( dispatchMock ) . toBeCalledWith ( {
55
58
type : 'setParsed' ,
56
59
parsed : [
57
- { forename :
'Hans' , surname :
'Muster' , email :
'[email protected] ' } ,
58
- { forename :
'Heidi' , surname :
'Muster' , email :
'[email protected] ' } ,
59
- { forename :
'Joe' , surname :
'Doe' , email :
' [email protected] ' }
60
+ { forename :
'Hans' , surname :
'Muster! ' , email :
'[email protected] ' } ,
61
+ { forename :
'Heidi' , surname :
'Muster! ' , email :
'[email protected] ' } ,
62
+ { forename :
'Joe' , surname :
'Doe! ' , email :
' [email protected] ' }
60
63
]
61
64
} ) ;
62
65
} ) ;
0 commit comments