@@ -106,17 +106,47 @@ component extends="coldbox.system.testing.BaseModelTest" model="cbvalidation.mod
106106
107107 expect ( model .validate ( result , mock , " testField" , " " , " name" ) ).toBeFalse ();
108108
109- // expect(
110- // model.validate(
111- // result,
112- // mock,
113- // "testField",
114- // "",
115- // "missing"
116- // )
117- // ).toBeTrue();
109+ expect ( model .validate ( result , mock , " testField" , " " , " missing" ) ).toBeTrue ();
110+ } );
111+ it ( " can accept a closure as validationData" , function (){
112+ var mock = createStub ()
113+ .$( " getName" , " luis" )
114+ .$( " getRole" , " admin" )
115+ .$( " getMissing" , javacast ( " null" , " " ) );
116+ var result = createMock ( " cbvalidation.models.result.ValidationResult" ).init ();
117+
118+ expect ( model .validate ( result , mock , " testField" , " " , isRequired1 ) ).toBeFalse ();
119+
120+ expect ( model .validate ( result , mock , " testField" , " " , isRequired2 ) ).toBeTrue ();
121+ } );
122+ it ( " can use custom error metadata" , function (){
123+ var mock = createStub ()
124+ .$( " getName" , " luis" )
125+ .$( " getRole" , " admin" )
126+ .$( " getMissing" , javacast ( " null" , " " ) );
127+ var result = createMock ( " cbvalidation.models.result.ValidationResult" ).init ();
128+
129+ expect ( model .validate ( result , mock , " testField" , " " , isRequired3 ) ).toBeFalse ();
130+
131+ var errorMetadata = result .getErrors ()[ 1 ].getErrorMetadata ();
132+
133+ expect ( errorMetaData ).toHaveKey ( " customMessage" );
134+ expect ( errorMetaData .customMessage ).toBe ( " This is custom data" );
118135 } );
119136 } );
120137 }
121138
139+ private function isRequired1 ( value , target , errorMetadata ){
140+ return true ;
141+ }
142+
143+ private function isRequired2 ( value , target , errorMetadata ){
144+ return false ;
145+ }
146+
147+ private function isRequired3 ( value , target , errorMetadata ){
148+ arguments .errorMetadata [ " customMessage" ] = " This is custom data" ;
149+ return true ;
150+ }
151+
122152}
0 commit comments