@@ -3,31 +3,72 @@ import { resolveWidget, resolveType } from "./resolve";
3
3
describe ( "Resolve widget shape" , ( ) => {
4
4
describe ( "multiple property" , ( ) => {
5
5
it ( 'should be false if "multiple" prop falsy' , ( ) => {
6
- expect ( resolveWidget ( { name : "name" , widget : "string" } ) . multiple ) . toBe ( false ) ;
6
+ expect ( resolveWidget ( ) ( { name : "name" , widget : "string" } ) . multiple ) . toBe ( false ) ;
7
7
} ) ;
8
8
9
9
it ( 'should be true if "multiple" prop true' , ( ) => {
10
10
expect (
11
- resolveWidget ( { name : "name" , widget : "select" , multiple : true , options : [ ] } ) . multiple ,
11
+ resolveWidget ( ) ( { name : "name" , widget : "select" , multiple : true , options : [ ] } ) . multiple ,
12
12
) . toBe ( true ) ;
13
13
} ) ;
14
14
15
15
it ( 'should be true if "list" widget type' , ( ) => {
16
- expect ( resolveWidget ( { name : "name" , widget : "list" } ) . multiple ) . toBe ( true ) ;
16
+ expect ( resolveWidget ( ) ( { name : "name" , widget : "list" } ) . multiple ) . toBe ( true ) ;
17
+ } ) ;
18
+
19
+ it ( 'should be true if "image" widget with external media library' , ( ) => {
20
+ expect (
21
+ resolveWidget ( { externalMediaLibrary : true } ) ( {
22
+ name : "name" ,
23
+ widget : "image" ,
24
+ media_library : { config : { multiple : true } } ,
25
+ } ) . multiple ,
26
+ ) . toBe ( true ) ;
27
+ } ) ;
28
+
29
+ it ( 'should be true if "file" widget with external media library' , ( ) => {
30
+ expect (
31
+ resolveWidget ( { externalMediaLibrary : true } ) ( {
32
+ name : "name" ,
33
+ widget : "file" ,
34
+ media_library : { config : { multiple : true } } ,
35
+ } ) . multiple ,
36
+ ) . toBe ( true ) ;
37
+ } ) ;
38
+
39
+ it ( 'should be false if "file" widget without external media library' , ( ) => {
40
+ expect (
41
+ resolveWidget ( { externalMediaLibrary : false } ) ( {
42
+ name : "name" ,
43
+ widget : "file" ,
44
+ media_library : { config : { multiple : true } } ,
45
+ } ) . multiple ,
46
+ ) . toBe ( false ) ;
47
+ } ) ;
48
+
49
+ it ( 'should be false if "file" widget with external media library but no "multiple" config' , ( ) => {
50
+ expect (
51
+ resolveWidget ( { externalMediaLibrary : true } ) ( {
52
+ name : "name" ,
53
+ widget : "file" ,
54
+ } ) . multiple ,
55
+ ) . toBe ( false ) ;
17
56
} ) ;
18
57
} ) ;
19
58
20
59
describe ( "required property" , ( ) => {
21
60
it ( "should be true by default" , ( ) => {
22
- expect ( resolveWidget ( { name : "name" , widget : "string" } ) . required ) . toBe ( true ) ;
61
+ expect ( resolveWidget ( ) ( { name : "name" , widget : "string" } ) . required ) . toBe ( true ) ;
23
62
} ) ;
24
63
25
64
it ( "should be true if value truthy" , ( ) => {
26
- expect ( resolveWidget ( { name : "name" , widget : "string" , required : true } ) . required ) . toBe ( true ) ;
65
+ expect ( resolveWidget ( ) ( { name : "name" , widget : "string" , required : true } ) . required ) . toBe (
66
+ true ,
67
+ ) ;
27
68
} ) ;
28
69
29
70
it ( "should be false if value is false" , ( ) => {
30
- expect ( resolveWidget ( { name : "name" , widget : "string" , required : false } ) . required ) . toBe (
71
+ expect ( resolveWidget ( ) ( { name : "name" , widget : "string" , required : false } ) . required ) . toBe (
31
72
false ,
32
73
) ;
33
74
} ) ;
0 commit comments