Skip to content

Commit 9645e75

Browse files
committed
adjust test case to real life problem
1 parent 52dc61a commit 9645e75

1 file changed

Lines changed: 42 additions & 46 deletions

File tree

test/test.js

Lines changed: 42 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1663,60 +1663,56 @@ test('original various tests', function (t) {
16631663
});
16641664

16651665
test('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

Comments
 (0)