Ich versuche, ein Populate Aufruf zu verspotten und ich möchte spotten, um Mungo-Objekte, nicht einfach JS-Objekte zurückzugeben.Mock Mongoose Objekte nach dem Auffüllen Anruf
sandbox.mock(BookModel)
.expects('populate')
.yields(null, [
new BookModel({
_id: mongoose.Types.ObjectId(),
name: 'Mock Book',
authorIds: [{
name: 'Foo',
}]
})
]);
Mit Schemata:
var BookSchema = new Schema({
name: { type: String, required: true, unique: true },
authorIds: [{type: Schema.Types.ObjectId, ref: 'Author'}],
});
var AuthorSchema = new Schema({
name: { type: String, required: true, unique: true },
});
jedoch Mungo meinen Test von verhindert, dass das Mock-Objekt mit einem Mock bevölkerten Autor als Mungo Erstellung wahrscheinlich ist die Überprüfung, dass die authorIds Array ein Array von Objekt-IDs ist.
Hat jemand sinon verwendet, um ein bevölkertes Feld wie dieses zu verspotten?
Das funktioniert, danke! – lostintranslation