File tree 2 files changed +76
-4
lines changed
2 files changed +76
-4
lines changed Original file line number Diff line number Diff line change @@ -893,4 +893,76 @@ describe("VueFormGenerator.vue", () => {
893
893
} ) ;
894
894
} ) ;
895
895
896
+
897
+ describe ( "check async validator" , ( ) => {
898
+ let schema = {
899
+ fields : [
900
+ {
901
+ type : "input" ,
902
+ inputType : "text" ,
903
+ label : "Name" ,
904
+ model : "name" ,
905
+ validator ( value ) {
906
+ return new Promise ( ( resolve , reject ) => {
907
+ setTimeout ( ( ) => {
908
+ if ( value . length >= 3 )
909
+ resolve ( ) ;
910
+ else
911
+ resolve ( [ "Invalid name" ] ) ;
912
+ } , 50 ) ;
913
+ } ) ;
914
+ }
915
+ }
916
+ ]
917
+ } ;
918
+
919
+ let model = { name : "Bob" } ;
920
+ let form ;
921
+ let field ;
922
+ let onValidated = sinon . spy ( ) ;
923
+
924
+ before ( ( done ) => {
925
+ let elm = document . createElement ( "div" ) ;
926
+ vm = new Vue ( {
927
+ // eslint-disable-next-line quotes
928
+ template : `<vue-form-generator :schema="schema" :model="model" :options="options" :multiple="false" ref="form" @validated="onValidated"></vue-form-generator>` ,
929
+ data : {
930
+ schema,
931
+ model,
932
+ options : { }
933
+ } ,
934
+ methods : {
935
+ onValidated
936
+ }
937
+ } ) . $mount ( elm ) ;
938
+
939
+ el = vm . $el ;
940
+ vm . $nextTick ( ( ) => {
941
+ form = vm . $refs . form ;
942
+ field = form . $children [ 0 ] ;
943
+ done ( ) ;
944
+ } ) ;
945
+ } ) ;
946
+
947
+ it ( "should no errors after mounted()" , ( done ) => {
948
+ vm . $nextTick ( ( ) => {
949
+ expect ( form . errors ) . to . be . length ( 0 ) ;
950
+ done ( ) ;
951
+ } ) ;
952
+ } ) ;
953
+
954
+ it ( "should be validation error if model value is not valid" , cb => {
955
+ onValidated . reset ( ) ;
956
+ vm . model . name = "A" ;
957
+ field . validate ( ) ;
958
+
959
+ setTimeout ( ( ) => {
960
+ expect ( form . errors ) . to . be . length ( 1 ) ;
961
+ expect ( onValidated . calledWith ( false , [ { field : schema . fields [ 0 ] , error : "Invalid name" } ] ) ) . to . be . true ;
962
+
963
+ cb ( ) ;
964
+ } , 100 ) ;
965
+ } ) ;
966
+ } ) ;
967
+
896
968
} ) ;
Original file line number Diff line number Diff line change @@ -6,14 +6,14 @@ module.exports = {
6
6
devtool : "eval-source-map" ,
7
7
8
8
module : {
9
- preLoaders : [
9
+ /* preLoaders: [
10
10
{
11
11
test: /\.js$/,
12
12
loader: "isparta",
13
13
include: sourceDir,
14
14
exclude: /node_modules/
15
15
}
16
- ] ,
16
+ ],*/
17
17
18
18
loaders : [
19
19
{
@@ -70,9 +70,9 @@ module.exports = {
70
70
} ,
71
71
72
72
// Comment out this, if you would like to debug under `npm run ci`
73
- loaders : {
73
+ /* loaders: {
74
74
js: "isparta"
75
- }
75
+ }*/
76
76
}
77
77
78
78
} ;
You can’t perform that action at this time.
0 commit comments