@@ -12,7 +12,7 @@ Vue.component("multiselect", VueMultiSelect);
12
12
let el , vm , field ;
13
13
14
14
function createField ( test , schema = { } , model = null , disabled = false , options ) {
15
- [ el , vm , field ] = createVueField ( test , "fieldVueMultiSelect" , schema , model , disabled , options ) ;
15
+ [ el , vm , field ] = createVueField ( test , "fieldVueMultiSelect" , schema , model , disabled , options ) ;
16
16
}
17
17
18
18
describe ( "fieldVueMultiSelect.vue" , function ( ) {
@@ -22,20 +22,21 @@ describe("fieldVueMultiSelect.vue", function() {
22
22
type : "vueMultiSelect" ,
23
23
label : "Cities" ,
24
24
model : "city" ,
25
- multiSelect : true ,
26
25
required : false ,
27
26
values : [
28
27
"London" ,
29
28
"Paris" ,
30
29
"Rome" ,
31
30
"Berlin"
32
31
] ,
33
- selectOptions : { }
32
+ selectOptions : {
33
+ multiple : true
34
+ }
34
35
} ;
35
36
let model = { city : "Paris" } ;
36
37
let input ;
37
38
38
- before ( ( ) => {
39
+ before ( ( ) => {
39
40
createField ( this , schema , model , false ) ;
40
41
input = el . querySelector ( ".multiselect" ) ;
41
42
} ) ;
@@ -58,7 +59,7 @@ describe("fieldVueMultiSelect.vue", function() {
58
59
59
60
it ( "should set disabled" , ( done ) => {
60
61
field . disabled = true ;
61
- vm . $nextTick ( ( ) => {
62
+ vm . $nextTick ( ( ) => {
62
63
expect ( input . classList . contains ( "multiselect--disabled" ) ) . to . be . true ;
63
64
field . disabled = false ;
64
65
done ( ) ;
@@ -67,7 +68,7 @@ describe("fieldVueMultiSelect.vue", function() {
67
68
68
69
it ( "input value should be the model value after changed" , ( done ) => {
69
70
model . city = "Rome" ;
70
- vm . $nextTick ( ( ) => {
71
+ vm . $nextTick ( ( ) => {
71
72
expect ( input . querySelectorAll ( "li .multiselect__option--selected" ) . length ) . to . be . equal ( 1 ) ;
72
73
let options = input . querySelectorAll ( "li .multiselect__option" ) ;
73
74
expect ( options [ 2 ] . querySelector ( "span" ) . textContent ) . to . be . equal ( "Rome" ) ;
@@ -77,8 +78,8 @@ describe("fieldVueMultiSelect.vue", function() {
77
78
} ) ;
78
79
79
80
it ( "input value should be the model value after changed (multiselection)" , ( done ) => {
80
- model . city = [ "Paris" , "Rome" ] ;
81
- vm . $nextTick ( ( ) => {
81
+ model . city = [ "Paris" , "Rome" ] ;
82
+ vm . $nextTick ( ( ) => {
82
83
expect ( input . querySelectorAll ( "li .multiselect__option--selected" ) . length ) . to . be . equal ( 2 ) ;
83
84
let options = input . querySelectorAll ( "li .multiselect__option" ) ;
84
85
expect ( options [ 1 ] . querySelector ( "span" ) . textContent ) . to . be . equal ( "Paris" ) ;
@@ -93,7 +94,7 @@ describe("fieldVueMultiSelect.vue", function() {
93
94
let options = input . querySelectorAll ( "li .multiselect__option" ) ;
94
95
trigger ( options [ 2 ] , "mousedown" ) ;
95
96
96
- vm . $nextTick ( ( ) => {
97
+ vm . $nextTick ( ( ) => {
97
98
expect ( model . city . length ) . to . be . equal ( 1 ) ;
98
99
expect ( model . city [ 0 ] ) . to . be . equal ( "Paris" ) ;
99
100
done ( ) ;
@@ -106,31 +107,28 @@ describe("fieldVueMultiSelect.vue", function() {
106
107
name : "Vue.js" ,
107
108
language : "JavaScript"
108
109
} ;
109
- let schema = { ...schema } ;
110
+ let schema = { ...schema } ;
110
111
let model = {
111
112
city : [ option ]
112
113
} ;
113
- schema . values = [
114
- {
115
- name : "Vue.js" ,
116
- language : "JavaScript"
117
- } ,
118
- {
119
- name : "Rails" ,
120
- language : "Ruby"
121
- } ,
122
- {
123
- name : "Sinatra" ,
124
- language : "Ruby"
125
- } ] ;
114
+ schema . values = [ {
115
+ name : "Vue.js" ,
116
+ language : "JavaScript"
117
+ } , {
118
+ name : "Rails" ,
119
+ language : "Ruby"
120
+ } , {
121
+ name : "Sinatra" ,
122
+ language : "Ruby"
123
+ } ] ;
126
124
schema . selectOptions = { } ;
127
125
before ( ( ) => {
128
126
createField ( this , schema , model , false ) ;
129
127
input = el . querySelector ( ".multiselect" ) ;
130
128
} ) ;
131
129
132
130
it ( "model value should work with objects" , ( done ) => {
133
- schema . selectOptions = { label : "name" , trackBy : "name" } ;
131
+ schema . selectOptions = { label : "name" , trackBy : "name" } ;
134
132
vm . $nextTick ( ( ) => {
135
133
expect ( model . city . length ) . to . be . equal ( 1 ) ;
136
134
expect ( model . city [ 0 ] ) . to . be . eql ( schema . values [ 0 ] ) ;
@@ -139,7 +137,7 @@ describe("fieldVueMultiSelect.vue", function() {
139
137
} ) ;
140
138
141
139
it ( "options should contain only text specified in label" , ( done ) => {
142
- schema . selectOptions = { label : "language" , trackBy : "language" } ;
140
+ schema . selectOptions = { label : "language" , trackBy : "language" } ;
143
141
vm . $nextTick ( ( ) => {
144
142
let options = input . querySelectorAll ( "li .multiselect__option" ) ;
145
143
expect ( options [ 0 ] . querySelector ( "span" ) . textContent ) . to . be . equal ( "JavaScript" ) ;
@@ -151,7 +149,7 @@ describe("fieldVueMultiSelect.vue", function() {
151
149
schema . selectOptions = {
152
150
label : "name" ,
153
151
trackBy : "name" ,
154
- customLabel : ( { name, language} ) => {
152
+ customLabel : ( { name, language } ) => {
155
153
return `${ name } -${ language } ` ;
156
154
}
157
155
} ;
@@ -163,4 +161,4 @@ describe("fieldVueMultiSelect.vue", function() {
163
161
} ) ;
164
162
} ) ;
165
163
} ) ;
166
- } ) ;
164
+ } ) ;
0 commit comments