@@ -106,17 +106,47 @@ component extends="coldbox.system.testing.BaseModelTest" model="cbvalidation.mod
106
106
107
107
expect ( model .validate ( result , mock , " testField" , " " , " name" ) ).toBeFalse ();
108
108
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" );
118
135
} );
119
136
} );
120
137
}
121
138
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
+
122
152
}
0 commit comments