UNPKG

@stenneepro/mongoose-soft-delete

Version:
33 lines (32 loc) 1.47 kB
"use strict"; 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)('with type key', function () { let TestModel; before(async function () { TestModel = (0, setupModel_1.default)('TestWithTypeKeyModel', { name: { $type: String } }, {}, { typeKey: '$type' }); }); after(async function () { await (0, dropModel_1.default)('TestWithTypeKeyModel'); }); it('create() -> set deleted=false', async function () { const puffy = await TestModel.create({ name: 'Puffy1' }); (0, chai_1.expect)(puffy.deleted).to.equal(false); }); it('deleteOne() -> set deleted=true', async function () { const puffy = await TestModel.findOne({ name: 'Puffy1' }).orFail(); const result = await puffy.deleteOne(); (0, chai_1.expect)(result.deletedCount).to.equal(1); }); it('restoreOne() -> set deleted=false', async function () { const puffy = await TestModel.findOne({ name: 'Puffy1' }).withDeleted().orFail(); const doc = await puffy.restoreOne(); (0, chai_1.expect)(doc.deleted).to.equal(false); }); });