@stenneepro/mongoose-soft-delete
Version:
Mongoose soft delete plugin
49 lines (48 loc) • 2.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const mocha_1 = require("mocha");
const setupModel_1 = __importDefault(require("./utils/setupModel"));
const dropModel_1 = __importDefault(require("./utils/dropModel"));
const chai_1 = require("chai");
(0, mocha_1.describe)('new model', function () {
let TestModel;
before(async function () {
TestModel = (0, setupModel_1.default)('TestNewModel', { name: String });
});
after(async function () {
await (0, dropModel_1.default)('TestNewModel');
});
(0, mocha_1.describe)('new model', function () {
it('create() -> set deleted=false', async function () {
const puffy = await TestModel.create({ name: 'Puffy1' });
(0, chai_1.expect)(puffy.deleted).to.equal(false);
});
it('save() -> set deleted=false', async function () {
const puffy = new TestModel({ name: 'Puffy2' });
const doc = await puffy.save();
(0, chai_1.expect)(doc.deleted).to.equal(false);
});
it('insertMany() -> set deleted=false', async function () {
const [puffy3, puffy4] = await TestModel.insertMany([{ name: 'Puffy3' }, { name: 'Puffy4' }]);
(0, chai_1.expect)(puffy3.deleted).to.equal(false);
(0, chai_1.expect)(puffy4.deleted).to.equal(false);
});
it('updateOne()-> with upsert set deleted=false', async function () {
await TestModel.updateOne({ name: 'Puffy5' }, { name: 'Puffy6' }, { upsert: true });
const puffy = await TestModel.findOne({ name: 'Puffy6' }).orFail();
(0, chai_1.expect)(puffy.deleted).to.equal(false);
});
it('bulkWrite() -> set deleted=false', async function () {
await TestModel.bulkWrite([{
insertOne: {
document: { name: 'Puffy7' }
}
}]);
const puffy = await TestModel.findOne({ name: 'Puffy7' }).orFail();
(0, chai_1.expect)(puffy.deleted).to.equal(false);
});
});
});