【发布时间】:2019-10-24 12:43:48
【问题描述】:
我创建了一个uploadSchema (mongoose.Schema),其中包含以下字段:密钥和存储桶。他们每个人都不是唯一的,但我希望他们一起创建一个唯一的 ID。
在我的代码中,我使用了该行(在声明 uploadSchema 之后和 uploadModel 之前):
uploadSchema.index({ key: 1, bucket: 1 }, { unique: true, background: true });
但是,在我的测试中(mocha 和chai),没有强制执行索引,因此我可以创建两个具有相同键和存储桶的实例(在我的情况下)。
例如,在我的代码中:
await uploadModel.create({ key: testUpload.key, bucket: testUpload.bucket,
name: 'name1', ownerID: USER.id, parent: null }).should.eventually.exist;
然后:
await uploadModel.create({key: testUpload.key, bucket: testUpload.bucket,
name: 'name1', ownerID: USER.id, parent: null }).should.eventually.be.rejected;
不抛出正确的错误错误:
AssertionError: expected promise to be rejected but it was fulfilled with { Object ($__, isNew, ...) }
我没有正确使用它吗?还是索引和测试有问题?
【问题讨论】:
标签: javascript typescript mongoose mocha.js chai-as-promised