@@ -39,25 +39,45 @@ describe("generateDefaultValue", () => {
3939 ) . toBe ( false ) ;
4040 } ) ;
4141
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 ) ;
4444 } ) ;
4545
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 ) ;
4848 } ) ;
4949
5050 test ( "generates default null for unknown types" , ( ) => {
5151 // @ts -expect-error Testing with invalid type
5252 expect ( generateDefaultValue ( { type : "unknown" } ) ) . toBe ( undefined ) ;
5353 } ) ;
5454
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 ) ;
5767 } ) ;
5868
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 ) ;
6181 } ) ;
6282
6383 test ( "generates undefined for non-required primitive types" , ( ) => {
0 commit comments