'use strict';
const start = require('./common');
let mongoose2;
describe('multiple require instance', function() {
before(function() {
try {
mongoose2 = require('mongoose-separate-require-instance');
} catch (err) {
if (err.code !== 'MODULE_NOT_FOUND') {
throw err;
}
return this.skip();
}
});
let db;
beforeEach(function() {
db = start();
});
afterEach(() => db.close());
it('supports arrays defined using schemas from separate instance (gh-15466)', async function() {
const nestedSchema = new mongoose2.Schema(
{ name: String },
{ _id: false }
);
const schema = new mongoose2.Schema({
subDoc: nestedSchema,
docArray: [nestedSchema]
});
const document = {
subDoc: { name: 'Alpha' },
docArray: [
{ name: 'Bravo' },
{ name: 'Charlie' }
]
};
const TestModel = db.model('Test', schema);
const doc = new TestModel(document);
await doc.validate();
});
});