Я создал uploadSchema
(mongoose.Schema
) с полями (среди остальных): ключ и корзина. каждый из них не уникален, но вместе я хочу, чтобы они создали уникальный идентификатор.
в своем коде я использовал строку (сразу после объявления 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, ...) }
Я не правильно его использую? Или есть проблема с индексацией и тестированием?