Skip to content

Commit

Permalink
test(populate): repro Automattic#7573
Browse files Browse the repository at this point in the history
  • Loading branch information
vkarpov15 committed Aug 3, 2019
1 parent 6f33e8c commit 4ebbcf2
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/model.populate.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -8557,4 +8557,42 @@ describe('model: populate:', function() {
assert.equal(docs[1].media.duration, 42);
});
});

it('count with subdocs (gh-7573)', function() {
const DeveloperSchema = Schema({ name: String });
const TeamSchema = Schema({
name: String,
developers: [DeveloperSchema]
});
const TicketSchema = Schema({
assigned: String,
description: String
});

DeveloperSchema.virtual('ticketCount', {
ref: 'gh7573_Ticket',
localField: 'name',
foreignField: 'assigned',
count: true
});

const Ticket = db.model('gh7573_Ticket', TicketSchema);
const Team = db.model('gh7573_Team', TeamSchema);

return co(function*() {
yield Team.create({
name: 'Rocket',
developers: [{ name: 'Jessie' }, { name: 'James' }]
});
yield Ticket.create([
{ assigned: 'Jessie', description: 'test1' },
{ assigned: 'James', description: 'test2' },
{ assigned: 'Jessie', description: 'test3' }
]);

const team = yield Team.findOne().populate('developers.ticketCount');
assert.equal(team.developers[0].ticketCount, 2);
assert.equal(team.developers[1].ticketCount, 1);
});
});
});

0 comments on commit 4ebbcf2

Please sign in to comment.