Skip to content

Commit

Permalink
test(populate): repro #8324
Browse files Browse the repository at this point in the history
  • Loading branch information
vkarpov15 committed Nov 19, 2019
1 parent 2881dda commit a32d9a8
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions test/model.populate.test.js
Expand Up @@ -8801,5 +8801,33 @@ describe('model: populate:', function() {
assert.equal(doc.troops[3].name, 'Card 4');
});
});

it('virtual populate with discriminator that has a custom discriminator value (gh-8324)', function() {
const mainSchema = new Schema({ title: { type: String } },
{ discriminatorKey: 'type' });

mainSchema.virtual('virtualField', {
ref: 'gh8324_Model',
localField: '_id',
foreignField: 'main',
});

const discriminatedSchema = new Schema({ description: String });
const Main = db.model('gh8324_Main', mainSchema);
const Discriminator = Main.discriminator('gh8324_Discriminator',
discriminatedSchema, 'customValue');
const Model = db.model('gh8324_Model', Schema({
main: 'ObjectId'
}));

return co(function*() {
const d = yield Discriminator.create({ title: 'test', description: 'test' });
yield Model.create({ main: d._id });

const docs = yield Main.find().populate('virtualField').exec();
console.log(docs.map(d => d.virtualField))
assert.ok(docs[0].virtualField[0].main);
});
});
});
});

0 comments on commit a32d9a8

Please sign in to comment.