ts-patch-mongoose 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/plugin.js +18 -14
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/cjs/types/plugin.d.ts.map +1 -1
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/plugin.mjs +18 -14
- package/dist/esm/types/plugin.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/plugin.ts +26 -22
- package/tests/plugin-pre-delete.test.ts +116 -9
package/dist/cjs/plugin.js
CHANGED
|
@@ -71,7 +71,7 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
71
71
|
await (0, patch_1.createPatch)(opts, context);
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
|
-
const original = await model.findById(current._id).exec();
|
|
74
|
+
const original = await model.findById(current._id).lean().exec();
|
|
75
75
|
if (original) {
|
|
76
76
|
await (0, patch_1.updatePatch)(opts, context, current, original);
|
|
77
77
|
}
|
|
@@ -90,6 +90,7 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
90
90
|
const options = this.getOptions();
|
|
91
91
|
if (options.ignoreHook)
|
|
92
92
|
return;
|
|
93
|
+
const model = this.model;
|
|
93
94
|
const filter = this.getFilter();
|
|
94
95
|
const count = await this.model.count(filter).exec();
|
|
95
96
|
this._context = {
|
|
@@ -100,11 +101,9 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
100
101
|
};
|
|
101
102
|
const updateQuery = this.getUpdate();
|
|
102
103
|
const { update, commands } = splitUpdateAndCommands(updateQuery);
|
|
103
|
-
const cursor =
|
|
104
|
+
const cursor = model.find(filter).lean().cursor();
|
|
104
105
|
await cursor.eachAsync(async (doc) => {
|
|
105
|
-
|
|
106
|
-
const original = doc.toObject(toObjectOptions);
|
|
107
|
-
await (0, patch_1.updatePatch)(opts, this._context, current, original);
|
|
106
|
+
await (0, patch_1.updatePatch)(opts, this._context, assignUpdate(doc, update, commands), doc);
|
|
108
107
|
});
|
|
109
108
|
});
|
|
110
109
|
schema.post(updateMethods, async function () {
|
|
@@ -113,35 +112,40 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
113
112
|
return;
|
|
114
113
|
if (!this._context.isNew)
|
|
115
114
|
return;
|
|
115
|
+
const model = this.model;
|
|
116
116
|
const updateQuery = this.getUpdate();
|
|
117
117
|
const { update, commands } = splitUpdateAndCommands(updateQuery);
|
|
118
118
|
const filter = assignUpdate({}, update, commands);
|
|
119
119
|
if (!lodash_1.default.isEmpty(filter)) {
|
|
120
|
-
const
|
|
121
|
-
if (
|
|
122
|
-
const current = found.toObject(toObjectOptions);
|
|
120
|
+
const current = await model.findOne(update).lean().exec();
|
|
121
|
+
if (current) {
|
|
123
122
|
this._context.createdDocs = [current];
|
|
124
123
|
await (0, patch_1.createPatch)(opts, this._context);
|
|
125
124
|
}
|
|
126
125
|
}
|
|
127
126
|
});
|
|
127
|
+
schema.pre(remove, { document: true, query: false }, async function () {
|
|
128
|
+
const original = this.toObject(toObjectOptions);
|
|
129
|
+
if (opts.preDelete && !lodash_1.default.isEmpty(original)) {
|
|
130
|
+
await opts.preDelete([original]);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
128
133
|
schema.post(remove, { document: true, query: false }, async function () {
|
|
129
134
|
const original = this.toObject(toObjectOptions);
|
|
130
135
|
const model = this.constructor;
|
|
131
136
|
const context = {
|
|
132
137
|
op: 'delete',
|
|
133
138
|
modelName: opts.modelName ?? model.modelName,
|
|
134
|
-
collectionName: opts.collectionName ?? model.collection.collectionName
|
|
139
|
+
collectionName: opts.collectionName ?? model.collection.collectionName,
|
|
140
|
+
deletedDocs: [original]
|
|
135
141
|
};
|
|
136
|
-
if (opts.eventDeleted) {
|
|
137
|
-
em_1.default.emit(opts.eventDeleted, { oldDoc: original });
|
|
138
|
-
}
|
|
139
142
|
await (0, patch_1.deletePatch)(opts, context);
|
|
140
143
|
});
|
|
141
144
|
schema.pre(deleteMethods, { document: false, query: true }, async function () {
|
|
142
145
|
const options = this.getOptions();
|
|
143
146
|
if (options.ignoreHook)
|
|
144
147
|
return;
|
|
148
|
+
const model = this.model;
|
|
145
149
|
const filter = this.getFilter();
|
|
146
150
|
this._context = {
|
|
147
151
|
op: this.op,
|
|
@@ -149,13 +153,13 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
149
153
|
collectionName: opts.collectionName ?? this.model.collection.collectionName
|
|
150
154
|
};
|
|
151
155
|
if (['remove', 'deleteMany'].includes(this._context.op) && !options.single) {
|
|
152
|
-
const docs = await
|
|
156
|
+
const docs = await model.find(filter).lean().exec();
|
|
153
157
|
if (!lodash_1.default.isEmpty(docs)) {
|
|
154
158
|
this._context.deletedDocs = docs;
|
|
155
159
|
}
|
|
156
160
|
}
|
|
157
161
|
else {
|
|
158
|
-
const doc = await
|
|
162
|
+
const doc = await model.findOne(filter).lean().exec();
|
|
159
163
|
if (!lodash_1.default.isEmpty(doc)) {
|
|
160
164
|
this._context.deletedDocs = [doc];
|
|
161
165
|
}
|
package/dist/cjs/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAA+D,MAAM,UAAU,CAAA;AAErJ,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAsE7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAA+D,MAAM,UAAU,CAAA;AAErJ,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAsE7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,IAwIlG,CAAA"}
|
package/dist/esm/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/plugin.mjs
CHANGED
|
@@ -67,7 +67,7 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
67
67
|
await createPatch(opts, context);
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
|
-
const original = await model.findById(current._id).exec();
|
|
70
|
+
const original = await model.findById(current._id).lean().exec();
|
|
71
71
|
if (original) {
|
|
72
72
|
await updatePatch(opts, context, current, original);
|
|
73
73
|
}
|
|
@@ -86,6 +86,7 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
86
86
|
const options = this.getOptions();
|
|
87
87
|
if (options.ignoreHook)
|
|
88
88
|
return;
|
|
89
|
+
const model = this.model;
|
|
89
90
|
const filter = this.getFilter();
|
|
90
91
|
const count = await this.model.count(filter).exec();
|
|
91
92
|
this._context = {
|
|
@@ -96,11 +97,9 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
96
97
|
};
|
|
97
98
|
const updateQuery = this.getUpdate();
|
|
98
99
|
const { update, commands } = splitUpdateAndCommands(updateQuery);
|
|
99
|
-
const cursor =
|
|
100
|
+
const cursor = model.find(filter).lean().cursor();
|
|
100
101
|
await cursor.eachAsync(async (doc) => {
|
|
101
|
-
|
|
102
|
-
const original = doc.toObject(toObjectOptions);
|
|
103
|
-
await updatePatch(opts, this._context, current, original);
|
|
102
|
+
await updatePatch(opts, this._context, assignUpdate(doc, update, commands), doc);
|
|
104
103
|
});
|
|
105
104
|
});
|
|
106
105
|
schema.post(updateMethods, async function () {
|
|
@@ -109,35 +108,40 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
109
108
|
return;
|
|
110
109
|
if (!this._context.isNew)
|
|
111
110
|
return;
|
|
111
|
+
const model = this.model;
|
|
112
112
|
const updateQuery = this.getUpdate();
|
|
113
113
|
const { update, commands } = splitUpdateAndCommands(updateQuery);
|
|
114
114
|
const filter = assignUpdate({}, update, commands);
|
|
115
115
|
if (!_.isEmpty(filter)) {
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
118
|
-
const current = found.toObject(toObjectOptions);
|
|
116
|
+
const current = await model.findOne(update).lean().exec();
|
|
117
|
+
if (current) {
|
|
119
118
|
this._context.createdDocs = [current];
|
|
120
119
|
await createPatch(opts, this._context);
|
|
121
120
|
}
|
|
122
121
|
}
|
|
123
122
|
});
|
|
123
|
+
schema.pre(remove, { document: true, query: false }, async function () {
|
|
124
|
+
const original = this.toObject(toObjectOptions);
|
|
125
|
+
if (opts.preDelete && !_.isEmpty(original)) {
|
|
126
|
+
await opts.preDelete([original]);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
124
129
|
schema.post(remove, { document: true, query: false }, async function () {
|
|
125
130
|
const original = this.toObject(toObjectOptions);
|
|
126
131
|
const model = this.constructor;
|
|
127
132
|
const context = {
|
|
128
133
|
op: 'delete',
|
|
129
134
|
modelName: opts.modelName ?? model.modelName,
|
|
130
|
-
collectionName: opts.collectionName ?? model.collection.collectionName
|
|
135
|
+
collectionName: opts.collectionName ?? model.collection.collectionName,
|
|
136
|
+
deletedDocs: [original]
|
|
131
137
|
};
|
|
132
|
-
if (opts.eventDeleted) {
|
|
133
|
-
em.emit(opts.eventDeleted, { oldDoc: original });
|
|
134
|
-
}
|
|
135
138
|
await deletePatch(opts, context);
|
|
136
139
|
});
|
|
137
140
|
schema.pre(deleteMethods, { document: false, query: true }, async function () {
|
|
138
141
|
const options = this.getOptions();
|
|
139
142
|
if (options.ignoreHook)
|
|
140
143
|
return;
|
|
144
|
+
const model = this.model;
|
|
141
145
|
const filter = this.getFilter();
|
|
142
146
|
this._context = {
|
|
143
147
|
op: this.op,
|
|
@@ -145,13 +149,13 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
145
149
|
collectionName: opts.collectionName ?? this.model.collection.collectionName
|
|
146
150
|
};
|
|
147
151
|
if (['remove', 'deleteMany'].includes(this._context.op) && !options.single) {
|
|
148
|
-
const docs = await
|
|
152
|
+
const docs = await model.find(filter).lean().exec();
|
|
149
153
|
if (!_.isEmpty(docs)) {
|
|
150
154
|
this._context.deletedDocs = docs;
|
|
151
155
|
}
|
|
152
156
|
}
|
|
153
157
|
else {
|
|
154
|
-
const doc = await
|
|
158
|
+
const doc = await model.findOne(filter).lean().exec();
|
|
155
159
|
if (!_.isEmpty(doc)) {
|
|
156
160
|
this._context.deletedDocs = [doc];
|
|
157
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAA+D,MAAM,UAAU,CAAA;AAErJ,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAsE7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAA+D,MAAM,UAAU,CAAA;AAErJ,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAsE7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,IAwIlG,CAAA"}
|
package/package.json
CHANGED
package/src/plugin.ts
CHANGED
|
@@ -96,9 +96,9 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
|
|
|
96
96
|
if (this.isNew) {
|
|
97
97
|
await createPatch(opts, context)
|
|
98
98
|
} else {
|
|
99
|
-
const original = await model.findById(current._id).exec()
|
|
99
|
+
const original = await model.findById(current._id).lean().exec()
|
|
100
100
|
if (original) {
|
|
101
|
-
await updatePatch(opts, context, current, original)
|
|
101
|
+
await updatePatch(opts, context, current, original as HydratedDocument<T>)
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
})
|
|
@@ -118,6 +118,7 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
|
|
|
118
118
|
const options = this.getOptions()
|
|
119
119
|
if (options.ignoreHook) return
|
|
120
120
|
|
|
121
|
+
const model = this.model as Model<T>
|
|
121
122
|
const filter = this.getFilter()
|
|
122
123
|
const count = await this.model.count(filter).exec()
|
|
123
124
|
|
|
@@ -131,12 +132,9 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
|
|
|
131
132
|
const updateQuery = this.getUpdate()
|
|
132
133
|
const { update, commands } = splitUpdateAndCommands(updateQuery)
|
|
133
134
|
|
|
134
|
-
const cursor =
|
|
135
|
-
await cursor.eachAsync(async (doc) => {
|
|
136
|
-
|
|
137
|
-
const original = doc.toObject(toObjectOptions) as HydratedDocument<T>
|
|
138
|
-
|
|
139
|
-
await updatePatch(opts, this._context, current, original)
|
|
135
|
+
const cursor = model.find(filter).lean().cursor()
|
|
136
|
+
await cursor.eachAsync(async (doc: HydratedDocument<T>) => {
|
|
137
|
+
await updatePatch(opts, this._context, assignUpdate(doc, update, commands), doc)
|
|
140
138
|
})
|
|
141
139
|
})
|
|
142
140
|
|
|
@@ -146,33 +144,38 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
|
|
|
146
144
|
|
|
147
145
|
if (!this._context.isNew) return
|
|
148
146
|
|
|
147
|
+
const model = this.model as Model<T>
|
|
149
148
|
const updateQuery = this.getUpdate()
|
|
150
149
|
const { update, commands } = splitUpdateAndCommands(updateQuery)
|
|
151
150
|
|
|
152
151
|
const filter = assignUpdate({} as HydratedDocument<T>, update, commands)
|
|
153
152
|
if (!_.isEmpty(filter)) {
|
|
154
|
-
const
|
|
155
|
-
if (
|
|
156
|
-
|
|
157
|
-
this._context.createdDocs = [current]
|
|
153
|
+
const current = await model.findOne(update).lean().exec()
|
|
154
|
+
if (current) {
|
|
155
|
+
this._context.createdDocs = [current] as HydratedDocument<T>[]
|
|
158
156
|
|
|
159
157
|
await createPatch(opts, this._context)
|
|
160
158
|
}
|
|
161
159
|
}
|
|
162
160
|
})
|
|
163
161
|
|
|
162
|
+
schema.pre(remove, { document: true, query: false }, async function () {
|
|
163
|
+
const original = this.toObject(toObjectOptions) as HydratedDocument<T>
|
|
164
|
+
|
|
165
|
+
if (opts.preDelete && !_.isEmpty(original)) {
|
|
166
|
+
await opts.preDelete([original])
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
|
|
164
170
|
schema.post(remove, { document: true, query: false }, async function (this: HydratedDocument<T>) {
|
|
165
|
-
const original = this.toObject(toObjectOptions)
|
|
171
|
+
const original = this.toObject(toObjectOptions) as HydratedDocument<T>
|
|
166
172
|
const model = this.constructor as Model<T>
|
|
167
173
|
|
|
168
174
|
const context: IContext<T> = {
|
|
169
175
|
op: 'delete',
|
|
170
176
|
modelName: opts.modelName ?? model.modelName,
|
|
171
|
-
collectionName: opts.collectionName ?? model.collection.collectionName
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (opts.eventDeleted) {
|
|
175
|
-
em.emit(opts.eventDeleted, { oldDoc: original })
|
|
177
|
+
collectionName: opts.collectionName ?? model.collection.collectionName,
|
|
178
|
+
deletedDocs: [original]
|
|
176
179
|
}
|
|
177
180
|
|
|
178
181
|
await deletePatch(opts, context)
|
|
@@ -182,6 +185,7 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
|
|
|
182
185
|
const options = this.getOptions()
|
|
183
186
|
if (options.ignoreHook) return
|
|
184
187
|
|
|
188
|
+
const model = this.model as Model<T>
|
|
185
189
|
const filter = this.getFilter()
|
|
186
190
|
|
|
187
191
|
this._context = {
|
|
@@ -191,14 +195,14 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
|
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
if (['remove', 'deleteMany'].includes(this._context.op) && !options.single) {
|
|
194
|
-
const docs = await
|
|
198
|
+
const docs = await model.find(filter).lean().exec()
|
|
195
199
|
if (!_.isEmpty(docs)) {
|
|
196
|
-
this._context.deletedDocs = docs
|
|
200
|
+
this._context.deletedDocs = docs as HydratedDocument<T>[]
|
|
197
201
|
}
|
|
198
202
|
} else {
|
|
199
|
-
const doc = await
|
|
203
|
+
const doc = await model.findOne(filter).lean().exec()
|
|
200
204
|
if (!_.isEmpty(doc)) {
|
|
201
|
-
this._context.deletedDocs = [doc]
|
|
205
|
+
this._context.deletedDocs = [doc] as HydratedDocument<T>[]
|
|
202
206
|
}
|
|
203
207
|
}
|
|
204
208
|
|
|
@@ -1,17 +1,24 @@
|
|
|
1
|
+
import { isMongooseLessThan7 } from '../src/version'
|
|
1
2
|
import mongoose, { model } from 'mongoose'
|
|
2
3
|
|
|
3
4
|
import UserSchema from './schemas/UserSchema'
|
|
4
5
|
import { patchHistoryPlugin } from '../src/plugin'
|
|
5
6
|
|
|
6
|
-
import {
|
|
7
|
+
import { USER_DELETED } from './constants/events'
|
|
8
|
+
|
|
9
|
+
import em from '../src/em'
|
|
7
10
|
|
|
8
11
|
const preDeleteMock = jest.fn()
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
jest.mock('../src/em', () => {
|
|
14
|
+
return { emit: jest.fn() }
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
describe('plugin - preDelete test', () => {
|
|
11
18
|
const uri = `${globalThis.__MONGO_URI__}${globalThis.__MONGO_DB_NAME__}`
|
|
12
19
|
|
|
13
20
|
UserSchema.plugin(patchHistoryPlugin, {
|
|
14
|
-
|
|
21
|
+
eventDeleted: USER_DELETED,
|
|
15
22
|
patchHistoryDisabled: true,
|
|
16
23
|
preDelete: preDeleteMock
|
|
17
24
|
})
|
|
@@ -32,13 +39,11 @@ describe('plugin - event created & patch history disabled', () => {
|
|
|
32
39
|
})
|
|
33
40
|
|
|
34
41
|
it('should deleteMany and execute preDelete', async () => {
|
|
35
|
-
await User.create(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
{ name: 'Jack', role: 'user' }
|
|
39
|
-
])
|
|
42
|
+
await User.create({ name: 'John', role: 'user' })
|
|
43
|
+
await User.create({ name: 'Jane', role: 'user' })
|
|
44
|
+
await User.create({ name: 'Jack', role: 'user' })
|
|
40
45
|
|
|
41
|
-
const users = await User.find({})
|
|
46
|
+
const users = await User.find({}).sort().lean().exec()
|
|
42
47
|
expect(users).toHaveLength(3)
|
|
43
48
|
|
|
44
49
|
const [john, jane, jack] = users
|
|
@@ -46,5 +51,107 @@ describe('plugin - event created & patch history disabled', () => {
|
|
|
46
51
|
await User.deleteMany({ role: 'user' })
|
|
47
52
|
expect(preDeleteMock).toHaveBeenCalledTimes(1)
|
|
48
53
|
expect(preDeleteMock).toHaveBeenCalledWith([john, jane, jack])
|
|
54
|
+
|
|
55
|
+
expect(em.emit).toHaveBeenCalledTimes(3)
|
|
56
|
+
expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
|
|
57
|
+
oldDoc: {
|
|
58
|
+
__v: 0,
|
|
59
|
+
_id: jane?._id,
|
|
60
|
+
name: 'Jane',
|
|
61
|
+
role: 'user',
|
|
62
|
+
createdAt: jane?.createdAt,
|
|
63
|
+
updatedAt: jane?.updatedAt
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
|
|
67
|
+
oldDoc: {
|
|
68
|
+
__v: 0,
|
|
69
|
+
_id: john?._id,
|
|
70
|
+
name: 'John',
|
|
71
|
+
role: 'user',
|
|
72
|
+
createdAt: john?.createdAt,
|
|
73
|
+
updatedAt: john?.updatedAt
|
|
74
|
+
}
|
|
75
|
+
})
|
|
76
|
+
expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
|
|
77
|
+
oldDoc: {
|
|
78
|
+
__v: 0,
|
|
79
|
+
_id: jack?._id,
|
|
80
|
+
name: 'Jack',
|
|
81
|
+
role: 'user',
|
|
82
|
+
createdAt: jack?.createdAt,
|
|
83
|
+
updatedAt: jack?.updatedAt
|
|
84
|
+
}
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
it('should deleteOne and execute preDelete', async () => {
|
|
89
|
+
await User.create({ name: 'John', role: 'user' })
|
|
90
|
+
await User.create({ name: 'Jane', role: 'user' })
|
|
91
|
+
await User.create({ name: 'Jack', role: 'user' })
|
|
92
|
+
|
|
93
|
+
const users = await User.find({}).sort().lean().exec()
|
|
94
|
+
expect(users).toHaveLength(3)
|
|
95
|
+
|
|
96
|
+
const [john] = users
|
|
97
|
+
|
|
98
|
+
await User.deleteOne({ name: 'John' })
|
|
99
|
+
expect(preDeleteMock).toHaveBeenCalledTimes(1)
|
|
100
|
+
expect(preDeleteMock).toHaveBeenCalledWith([
|
|
101
|
+
{
|
|
102
|
+
__v: 0,
|
|
103
|
+
_id: john?._id,
|
|
104
|
+
name: 'John',
|
|
105
|
+
role: 'user',
|
|
106
|
+
createdAt: john?.createdAt,
|
|
107
|
+
updatedAt: john?.updatedAt
|
|
108
|
+
}
|
|
109
|
+
])
|
|
110
|
+
|
|
111
|
+
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
112
|
+
expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
|
|
113
|
+
oldDoc: {
|
|
114
|
+
__v: 0,
|
|
115
|
+
_id: john?._id,
|
|
116
|
+
name: 'John',
|
|
117
|
+
role: 'user',
|
|
118
|
+
createdAt: john?.createdAt,
|
|
119
|
+
updatedAt: john?.updatedAt
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
})
|
|
123
|
+
|
|
124
|
+
it('should remove and execute preDelete', async () => {
|
|
125
|
+
const john = await User.create({ name: 'John', role: 'user' })
|
|
126
|
+
|
|
127
|
+
if (isMongooseLessThan7) {
|
|
128
|
+
await john?.remove()
|
|
129
|
+
} else {
|
|
130
|
+
await john?.deleteOne()
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
expect(preDeleteMock).toHaveBeenCalledTimes(1)
|
|
134
|
+
expect(preDeleteMock).toHaveBeenCalledWith([
|
|
135
|
+
{
|
|
136
|
+
__v: 0,
|
|
137
|
+
_id: john?._id,
|
|
138
|
+
name: 'John',
|
|
139
|
+
role: 'user',
|
|
140
|
+
createdAt: john?.createdAt,
|
|
141
|
+
updatedAt: john?.updatedAt
|
|
142
|
+
}
|
|
143
|
+
])
|
|
144
|
+
|
|
145
|
+
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
146
|
+
expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
|
|
147
|
+
oldDoc: {
|
|
148
|
+
__v: 0,
|
|
149
|
+
_id: john?._id,
|
|
150
|
+
name: 'John',
|
|
151
|
+
role: 'user',
|
|
152
|
+
createdAt: john?.createdAt,
|
|
153
|
+
updatedAt: john?.updatedAt
|
|
154
|
+
}
|
|
155
|
+
})
|
|
49
156
|
})
|
|
50
157
|
})
|