@@ -1663,60 +1663,56 @@ test('original various tests', function (t) {
16631663} ) ;
16641664
16651665test ( 'map array inside array to property' , function ( t ) {
1666+
1667+ var mongoose = require ( 'mongoose' ) ;
1668+
16661669 var obj = {
1667- name : 'Transfer in Sunnyvale' ,
1668- transfers : [ {
1669- type : 'TAKE' ,
1670- target_route : {
1671- _id : '58e4a15607689eafed8e2840' ,
1672- driver : '58e4a15607689eafed8e282a'
1673- } ,
1674- orders : [ '58e4a15807689eafed8e2d0b' ]
1675- } , {
1676- type : 'GIVE' ,
1677- target_route : {
1678- _id : '58e4a15607689eafed8e2840' ,
1679- driver : '58e4a15607689eafed8e282a'
1680- } ,
1681- orders : [ '58e4a15607689eafed8e2841' ]
1682- } ] ,
1683- orders : [
1684- '58e4a15807689eafed8e2d0b' ,
1685- '58e4a15607689eafed8e2841'
1686- ]
1687- } ;
1670+ "orders" : [ {
1671+ "foodie" : {
1672+ "first_name" : "Foodie2" ,
1673+ "last_name" : "Foodie2"
1674+ } ,
1675+ "sort_code" : "A02"
1676+ } ] ,
1677+ "transfers" : [ {
1678+ "type" : "GIVE" ,
1679+ "target_route" : {
1680+ "_id" : "58e4a15607689eafed8e2841" ,
1681+ "driver" : "58e4a15607689eafed8e2831"
1682+ } ,
1683+ "orders" : [ "58e4a15807689eafed8e2d0b" ]
1684+ } ]
1685+ } ;
16881686
16891687 var expect = {
1690- name : 'Transfer in Sunnyvale' ,
1691- transfers : [ {
1692- type : 'TAKE' ,
1693- target_route : {
1694- _id : '58e4a15607689eafed8e2840' ,
1695- driver : '58e4a15607689eafed8e282a'
1696- } ,
1697- orders : [ '58e4a15807689eafed8e2d0b' ]
1698- } , {
1699- type : 'GIVE' ,
1700- target_route : {
1701- _id : '58e4a15607689eafed8e2840' ,
1702- driver : '58e4a15607689eafed8e282a'
1703- } ,
1704- orders : [ '58e4a15607689eafed8e2841' ]
1705- } ] ,
1706- orders : [
1707- '58e4a15807689eafed8e2d0b' ,
1708- '58e4a15607689eafed8e2841'
1709- ]
1710- } ;
1688+ "orders" : [ {
1689+ "foodie" : {
1690+ "first_name" : "Foodie2" ,
1691+ "last_name" : "Foodie2"
1692+ } ,
1693+ "sort_code" : "A02"
1694+ } ] ,
1695+ "transfers" : [ {
1696+ "type" : "GIVE" ,
1697+ "target_route" : {
1698+ "_id" : "58e4a15607689eafed8e2841" ,
1699+ "driver" : "58e4a15607689eafed8e2831"
1700+ } ,
1701+ "orders" : [ "58e4a15807689eafed8e2d0b" ]
1702+ } ]
1703+ } ;
17111704
17121705 // would expect this to just assign the array as a property
17131706 var map = {
1714- 'name' : 'name' ,
1707+ 'orders[]._id' : 'orders[]._id' ,
1708+ 'orders[].sort_code' : 'orders[].sort_code' ,
1709+ 'orders[].foodie._id' : 'orders[].foodie._id' ,
1710+ 'orders[].foodie.first_name' : 'orders[].foodie.first_name' ,
1711+ 'orders[].foodie.last_name' : 'orders[].foodie.last_name' ,
17151712 'transfers[].type' : 'transfers[].type' ,
1716- 'transfers[].target_route._id' : 'transfers[].target_route._id' ,
1717- 'transfers[].target_route.driver' : 'transfers[].target_route.driver' ,
17181713 'transfers[].orders[]' : 'transfers[].orders' ,
1719- 'orders' : 'orders'
1714+ 'transfers[].target_route._id' : 'transfers[].target_route._id' ,
1715+ 'transfers[].target_route.driver' : 'transfers[].target_route.driver'
17201716 } ;
17211717
17221718 var result = om ( obj , map ) ;
0 commit comments