UNPKG

@stenneepro/mongoose-soft-delete

Version:
38 lines (37 loc) 1.59 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)('overrideMethods', function () { let TestModel; before(async function () { TestModel = (0, setupModel_1.default)('TestOverrideMethods', { name: String }, { overrideMethods: ['find'] }); }); beforeEach(async function () { await TestModel.create([ { name: 'Obi-Wan Kenobi', deleted: true }, { name: 'Darth Vader' }, { name: 'Luke Skywalker', deleted: true } ]); }); afterEach(async function () { await (0, dropModel_1.default)('TestOverrideMethods'); }); it('find() -> returns non-deleted documents', async function () { const docs = await TestModel.find(); (0, chai_1.expect)(docs).to.have.lengthOf(1); }); it('findOne() -> return deleted document', async function () { const puffy = await TestModel.findOne({ name: 'Obi-Wan Kenobi' }); (0, chai_1.expect)(puffy).to.exist; }); it('findOne().notDeleted() -> not return deleted document', async function () { const puffy = await TestModel.findOne({ name: 'Obi-Wan Kenobi' }).notDeleted(); (0, chai_1.expect)(puffy).to.not.exist; }); });