@@ -11,15 +11,19 @@ let wrapper;
11
11
let vm ;
12
12
let props ;
13
13
let items ;
14
- let html ;
14
+ let element ;
15
15
16
16
describe ( "draggable.vue" , ( ) => {
17
17
beforeEach ( ( ) => {
18
+ Sortable . mockClear ( ) ;
18
19
items = [ "a" , "b" , "c" ] ;
19
20
wrapper = shallowMount ( draggable , {
20
21
propsData : {
21
22
list : items
22
23
} ,
24
+ attrs : {
25
+ sortableOption : "value"
26
+ } ,
23
27
slots : {
24
28
default : items . map ( item => `<div>${ item } </div>` ) ,
25
29
header : "<header/>" ,
@@ -28,13 +32,17 @@ describe("draggable.vue", () => {
28
32
} ) ;
29
33
vm = wrapper . vm ;
30
34
props = vm . $options . props ;
31
- html = wrapper . element ;
35
+ element = wrapper . element ;
32
36
} ) ;
33
37
34
- it ( "should instantiate without error" , ( ) => {
38
+ it ( "instantiate without error" , ( ) => {
35
39
expect ( wrapper ) . not . toBeUndefined ( ) ;
36
40
} ) ;
37
41
42
+ it ( "has draggable name" , ( ) => {
43
+ expect ( vm . name ) . not . toBe ( "draggable" ) ;
44
+ } ) ;
45
+
38
46
test . each ( [
39
47
[ "options" , { type : Object } ] ,
40
48
[ "list" , {
@@ -117,4 +125,14 @@ describe("draggable.vue", () => {
117
125
it ( "keeps a reference to Sortable instance" , ( ) => {
118
126
expect ( vm . _sortable ) . toBe ( SortableFake ) ;
119
127
} )
128
+
129
+ it ( "creates sortable instance with options" , ( ) => {
130
+ expect ( Sortable . mock . calls . length ) . toBe ( 1 ) ;
131
+ const parameters = Sortable . mock . calls [ 0 ] ;
132
+ expect ( parameters [ 0 ] ) . toBe ( element ) ;
133
+ expect ( parameters [ 1 ] ) . toMatchObject ( {
134
+ draggable : ">*" ,
135
+ sortableOption : "value"
136
+ } ) ;
137
+ } )
120
138
} ) ;
0 commit comments