1602 / jugglingdb

Multi-database ORM for nodejs: redis, mongodb, mysql, sqlite3, postgresql, arango, in-memory...
http://1602.github.io/jugglingdb/
2.05k stars 241 forks source link

Return data on async getter (include) for hasMany #407

Open absynce opened 10 years ago

absynce commented 10 years ago

I added behavior to return data on async getter (include) for hasMany, e.g. user.posts(c) returns Array, to be consistent with belongsTo behavior.

User.all({ include: 'posts' }, function (err, users) { 
   var userPosts = users[0].posts(function () { }); // Returns Array of posts for users[0].
});

@1602 where should I test this? I initially thought scope.test.js since it's a change in that file but include.test.js looks like it is closer in setup. Although it doesn't appear to test public API behavior.

1602 commented 10 years ago

@absynce i think include.test.js is the right place because this scope method relies on include clause. Don't worry about existing tests, just organize them in natural way (you may want to add another tests section for that feature)