@@ -39,25 +39,45 @@ describe("generateDefaultValue", () => {
39
39
) . toBe ( false ) ;
40
40
} ) ;
41
41
42
- test ( "generates default array" , ( ) => {
43
- expect ( generateDefaultValue ( { type : "array" } ) ) . toEqual ( [ ] ) ;
42
+ test ( "generates undefined for optional array" , ( ) => {
43
+ expect ( generateDefaultValue ( { type : "array" } ) ) . toBe ( undefined ) ;
44
44
} ) ;
45
45
46
- test ( "generates default empty object" , ( ) => {
47
- expect ( generateDefaultValue ( { type : "object" } ) ) . toEqual ( { } ) ;
46
+ test ( "generates undefined for optional object" , ( ) => {
47
+ expect ( generateDefaultValue ( { type : "object" } ) ) . toBe ( undefined ) ;
48
48
} ) ;
49
49
50
50
test ( "generates default null for unknown types" , ( ) => {
51
51
// @ts -expect-error Testing with invalid type
52
52
expect ( generateDefaultValue ( { type : "unknown" } ) ) . toBe ( undefined ) ;
53
53
} ) ;
54
54
55
- test ( "generates empty array for non-required array" , ( ) => {
56
- expect ( generateDefaultValue ( { type : "array" } ) ) . toEqual ( [ ] ) ;
55
+ test ( "generates empty array for required array" , ( ) => {
56
+ const parentSchema = { required : [ "testArray" ] } ;
57
+ expect (
58
+ generateDefaultValue ( { type : "array" } , "testArray" , parentSchema ) ,
59
+ ) . toEqual ( [ ] ) ;
60
+ } ) ;
61
+
62
+ test ( "generates undefined for non-required array" , ( ) => {
63
+ const parentSchema = { required : [ "otherField" ] } ;
64
+ expect (
65
+ generateDefaultValue ( { type : "array" } , "testArray" , parentSchema ) ,
66
+ ) . toBe ( undefined ) ;
57
67
} ) ;
58
68
59
- test ( "generates empty object for non-required object" , ( ) => {
60
- expect ( generateDefaultValue ( { type : "object" } ) ) . toEqual ( { } ) ;
69
+ test ( "generates empty object for required object" , ( ) => {
70
+ const parentSchema = { required : [ "testObject" ] } ;
71
+ expect (
72
+ generateDefaultValue ( { type : "object" } , "testObject" , parentSchema ) ,
73
+ ) . toEqual ( { } ) ;
74
+ } ) ;
75
+
76
+ test ( "generates undefined for non-required object" , ( ) => {
77
+ const parentSchema = { required : [ "otherField" ] } ;
78
+ expect (
79
+ generateDefaultValue ( { type : "object" } , "testObject" , parentSchema ) ,
80
+ ) . toBe ( undefined ) ;
61
81
} ) ;
62
82
63
83
test ( "generates undefined for non-required primitive types" , ( ) => {
0 commit comments