@@ -10,7 +10,7 @@ const makeObjectStub = () => {
1010 pendingPrinting : 'false' ,
1111 transactionId : '6788329C5763C2982A9537E6DD1D122D' ,
1212 responseBody : {
13- total : '1 ' ,
13+ total : '0 ' ,
1414 entities : {
1515 entity : { }
1616 }
@@ -35,24 +35,24 @@ describe('validate', () => {
3535
3636 test ( 'should return true if provided fields match with object' , ( ) => {
3737 const isValid = sut . isValid ( objectStub , [
38- 'status' ,
39- 'data.status' ,
40- 'data.responseBody.entities.entity'
38+ [ 'status' ] ,
39+ [ 'data.status' ] ,
40+ [ 'data.responseBody.entities.entity' ]
4141 ] )
4242 expect ( isValid ) . toBeTruthy ( )
4343 } )
4444
4545 test ( 'should return true if repeated fields is provided to math with object' , ( ) => {
4646 const isValid = sut . isValid ( objectStub , [
47- 'data.status' ,
48- 'data.status' ,
49- 'data.status'
47+ [ 'data.status' ] ,
48+ [ 'data.status' ] ,
49+ [ 'data.status' ]
5050 ] )
5151 expect ( isValid ) . toBeTruthy ( )
5252 } )
5353
5454 test ( 'should return false if provided fields dont exists in object' , ( ) => {
55- const isValid = sut . isValid ( objectStub , [ 'invalid' , 'invalid.invalid' ] )
55+ const isValid = sut . isValid ( objectStub , [ [ 'invalid' ] , [ 'invalid.invalid' ] ] )
5656 expect ( isValid ) . toBeFalsy ( )
5757 } )
5858
@@ -62,31 +62,54 @@ describe('validate', () => {
6262 } )
6363
6464 test ( 'should return false if provided object is empty' , ( ) => {
65- const isValid = sut . isValid ( { } , [ 'any' ] )
65+ const isValid = sut . isValid ( { } , [ [ 'any' ] ] )
6666 expect ( isValid ) . toBeFalsy ( )
6767 } )
6868
6969 test ( 'should return false if a unique field of provided fields not exists in object' , ( ) => {
7070 const isValid = sut . isValid ( objectStub , [
71- 'status' ,
72- 'data.responseBody.total' ,
73- 'invalid'
71+ [ 'status' ] ,
72+ [ 'data.responseBody.total' ] ,
73+ [ 'invalid' ]
7474 ] )
7575 expect ( isValid ) . toBeFalsy ( )
7676 } )
7777
7878 test ( 'should calls isValid 4x with correctly params' , ( ) => {
7979 const spy = jest . spyOn ( sut , 'isValid' )
8080 sut . isValid ( objectStub , [
81- 'status' ,
82- 'data.status' ,
83- 'data.responseBody.total'
81+ [ 'status' ] ,
82+ [ 'data.status' ] ,
83+ [ 'data.responseBody.total' ]
8484 ] )
8585 expect ( spy ) . toBeCalledTimes ( 4 )
8686 expect ( spy ) . toBeCalledWith ( objectStub , [
87- 'status' ,
88- 'data.status' ,
89- 'data.responseBody.total'
87+ [ 'status' ] ,
88+ [ 'data.status' ] ,
89+ [ 'data.responseBody.total' ]
9090 ] )
9191 } )
92+
93+ test ( 'should return true if provided field value match with object value' , ( ) => {
94+ const isValid = sut . isValid ( objectStub , [
95+ [ 'status' , 200 ] ,
96+ [ 'data.status' , '1' ] ,
97+ [ 'data.responseBody.total' , '0' ]
98+ ] )
99+ expect ( isValid ) . toBeTruthy ( )
100+ } )
101+
102+ test ( 'should return false if provided field value dont match with object value' , ( ) => {
103+ const isValid = sut . isValid ( objectStub , [ [ 'status' , 400 ] ] )
104+ expect ( isValid ) . toBeFalsy ( )
105+ } )
106+
107+ test ( 'should return false if 1 of 3 provided field value dont match with object value' , ( ) => {
108+ const isValid = sut . isValid ( objectStub , [
109+ [ 'status' , 200 ] ,
110+ [ 'data.status' , '1' ] ,
111+ [ 'data.responseBody.total' , 'wrong' ]
112+ ] )
113+ expect ( isValid ) . toBeFalsy ( )
114+ } )
92115} )
0 commit comments