@@ -16,7 +16,8 @@ describe("Model instance", function() {
1616 name : String ,
1717 age : { type : 'integer' , required : false } ,
1818 height : { type : 'integer' , required : false } ,
19- weight : { type : 'number' , required : false } ,
19+ weight : { type : 'number' , required : false , enumerable : true } ,
20+ secret : { type : 'text' , required : false , enumerable : false } ,
2021 data : { type : 'object' , required : false }
2122 } , {
2223 identityCache : false ,
@@ -445,5 +446,21 @@ describe("Model instance", function() {
445446 } ) ;
446447 }
447448 } ) ;
449+
450+ describe ( "Enumerable" , function ( ) {
451+ it ( "should not stringify properties marked as not enumerable" , function ( done ) {
452+ Person . create ( { name : 'Dilbert' , secret : 'dogbert' , weight : 100 , data : { data : 3 } } , function ( err , p ) {
453+ if ( err ) return done ( err ) ;
454+
455+ var result = JSON . parse ( JSON . stringify ( p ) ) ;
456+ should . not . exist ( result . secret ) ;
457+ should . exist ( result . weight ) ;
458+ should . exist ( result . data ) ;
459+ should . exist ( result . name ) ;
460+
461+ done ( ) ;
462+ } ) ;
463+ } ) ;
464+ } ) ;
448465 } ) ;
449466} ) ;
0 commit comments