UNPKG

@stenneepro/mongoose-soft-delete

Version:
72 lines (71 loc) 3.51 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"); const mongooseExpects_1 = require("./utils/mongooseExpects"); (0, mocha_1.describe)('deletedAt=true', function () { let TestModel; before(async function () { TestModel = (0, setupModel_1.default)('TestDeletedAt', { name: String }, { deletedAt: true }); }); after(async function () { await (0, dropModel_1.default)('TestDeletedAt'); }); it('deleteOne() -> set deletedAt', async function () { const puffy = await TestModel.create({ name: 'Puffy1' }); const result = await puffy.deleteOne(); (0, mongooseExpects_1.expectOk)(result); (0, mongooseExpects_1.expectDeletedCount)(result, 1); const doc = await TestModel.findById(puffy.id).withDeleted().orFail(); (0, chai_1.expect)(doc.deletedAt).to.be.an('date'); }); it('deleteOne() -> set deletedAt', async function () { await TestModel.create({ name: 'Puffy2' }); const result = await TestModel.deleteOne({ name: 'Puffy2' }); (0, mongooseExpects_1.expectOk)(result); (0, mongooseExpects_1.expectDeletedCount)(result, 1); const puffy = await TestModel.findOne({ name: 'Puffy2' }).withDeleted().orFail(); (0, chai_1.expect)(puffy.deletedAt).to.be.an('date'); }); it('restoreOne() -> unset deletedAt', async function () { const puffy = await TestModel.findOne({ name: 'Puffy1' }).withDeleted().orFail(); const doc = await puffy.restoreOne(); (0, chai_1.expect)(doc.deletedAt).to.not.exist; }); it('restoreOne() -> unset deletedAt', async function () { const result = await TestModel.restoreOne({ name: 'Puffy2' }); (0, mongooseExpects_1.expectOk)(result); (0, mongooseExpects_1.expectMatchCount)(result, 1); const puffy = await TestModel.findOne({ name: 'Puffy2' }).withDeleted().orFail(); (0, chai_1.expect)(puffy.deletedAt).to.not.exist; }); }); (0, mocha_1.describe)('deletedAt=deleted_at', function () { let TestModel; before(async function () { TestModel = (0, setupModel_1.default)('TestDeletedAtCustomField', { name: String }, { deletedAt: 'deleted_at' }); }); after(async function () { await (0, dropModel_1.default)('TestDeletedAtCustomField'); }); it('deleteOne() -> set deletedAt', async function () { const puffy = await TestModel.create({ name: 'Puffy1' }); const result = await puffy.deleteOne(); (0, mongooseExpects_1.expectOk)(result); (0, mongooseExpects_1.expectDeletedCount)(result, 1); const doc = await TestModel.findById(puffy.id).withDeleted().orFail(); (0, chai_1.expect)(doc.deletedAt).to.be.an('date'); (0, chai_1.expect)(doc.get('deleted_at')).to.be.an('date'); }); it('restoreOne() -> unset deletedAt', async function () { const puffy = await TestModel.findOne({ name: 'Puffy1' }).withDeleted().orFail(); const doc = await puffy.restoreOne(); (0, chai_1.expect)(doc.deletedAt).to.not.exist; (0, chai_1.expect)(doc.get('deleted_at')).to.not.exist; }); });