ts-patch-mongoose 2.7.1 → 2.8.0
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/biome.json +1 -1
- package/dist/cjs/helpers.js +6 -6
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/hooks/delete-hooks.js.map +1 -1
- package/dist/cjs/hooks/save-hooks.js.map +1 -1
- package/dist/cjs/hooks/update-hooks.js.map +1 -1
- package/dist/cjs/models/History.js +5 -5
- package/dist/cjs/models/History.js.map +1 -1
- package/dist/cjs/patch.js +4 -4
- package/dist/cjs/patch.js.map +1 -1
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/cjs/types/hooks/delete-hooks.d.ts +2 -2
- package/dist/cjs/types/hooks/delete-hooks.d.ts.map +1 -1
- package/dist/cjs/types/hooks/save-hooks.d.ts +2 -2
- package/dist/cjs/types/hooks/save-hooks.d.ts.map +1 -1
- package/dist/cjs/types/hooks/update-hooks.d.ts +2 -2
- package/dist/cjs/types/hooks/update-hooks.d.ts.map +1 -1
- package/dist/cjs/types/models/History.d.ts +6 -6
- package/dist/cjs/types/models/History.d.ts.map +1 -1
- package/dist/cjs/types/patch.d.ts +12 -15
- package/dist/cjs/types/patch.d.ts.map +1 -1
- package/dist/cjs/types/plugin.d.ts +2 -2
- package/dist/cjs/types/plugin.d.ts.map +1 -1
- package/dist/cjs/types/types.d.ts +49 -0
- package/dist/cjs/types/types.d.ts.map +1 -0
- package/dist/cjs/{interfaces/IEvent.js → types.js} +1 -1
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/helpers.js +6 -6
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/hooks/delete-hooks.js.map +1 -1
- package/dist/esm/hooks/save-hooks.js.map +1 -1
- package/dist/esm/hooks/update-hooks.js.map +1 -1
- package/dist/esm/models/History.js +2 -3
- package/dist/esm/models/History.js.map +1 -1
- package/dist/esm/patch.js +4 -4
- package/dist/esm/patch.js.map +1 -1
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/types/hooks/delete-hooks.d.ts +2 -2
- package/dist/esm/types/hooks/delete-hooks.d.ts.map +1 -1
- package/dist/esm/types/hooks/save-hooks.d.ts +2 -2
- package/dist/esm/types/hooks/save-hooks.d.ts.map +1 -1
- package/dist/esm/types/hooks/update-hooks.d.ts +2 -2
- package/dist/esm/types/hooks/update-hooks.d.ts.map +1 -1
- package/dist/esm/types/models/History.d.ts +6 -6
- package/dist/esm/types/models/History.d.ts.map +1 -1
- package/dist/esm/types/patch.d.ts +12 -15
- package/dist/esm/types/patch.d.ts.map +1 -1
- package/dist/esm/types/plugin.d.ts +2 -2
- package/dist/esm/types/plugin.d.ts.map +1 -1
- package/dist/esm/types/types.d.ts +49 -0
- package/dist/esm/types/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +1 -4
- package/src/helpers.ts +6 -6
- package/src/hooks/delete-hooks.ts +4 -5
- package/src/hooks/save-hooks.ts +3 -4
- package/src/hooks/update-hooks.ts +4 -5
- package/src/models/History.ts +3 -5
- package/src/patch.ts +17 -21
- package/src/plugin.ts +25 -9
- package/src/types.ts +52 -0
- package/tests/helpers.test.ts +5 -6
- package/tests/patch.test.ts +21 -26
- package/tests/plugin-event-created.test.ts +50 -51
- package/tests/plugin-event-deleted.test.ts +76 -77
- package/tests/plugin-event-updated.test.ts +65 -67
- package/tests/plugin-global.test.ts +24 -25
- package/tests/plugin-omit-all.test.ts +36 -37
- package/tests/plugin-patch-history-disabled.test.ts +36 -37
- package/tests/plugin-pre-delete.test.ts +17 -18
- package/tests/plugin-pre-save.test.ts +6 -7
- package/tests/plugin.test.ts +37 -39
- package/tests/schemas/{DescriptionSchema.ts → Description.ts} +4 -4
- package/tests/schemas/{ProductSchema.ts → Product.ts} +12 -5
- package/tests/schemas/{UserSchema.ts → User.ts} +7 -4
- package/.swcrc +0 -17
- package/dist/cjs/interfaces/IContext.js +0 -3
- package/dist/cjs/interfaces/IContext.js.map +0 -1
- package/dist/cjs/interfaces/IEvent.js.map +0 -1
- package/dist/cjs/interfaces/IHistory.js +0 -3
- package/dist/cjs/interfaces/IHistory.js.map +0 -1
- package/dist/cjs/interfaces/IHookContext.js +0 -3
- package/dist/cjs/interfaces/IHookContext.js.map +0 -1
- package/dist/cjs/interfaces/IPluginOptions.js +0 -3
- package/dist/cjs/interfaces/IPluginOptions.js.map +0 -1
- package/dist/cjs/types/interfaces/IContext.d.ts +0 -13
- package/dist/cjs/types/interfaces/IContext.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IEvent.d.ts +0 -9
- package/dist/cjs/types/interfaces/IEvent.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IHistory.d.ts +0 -16
- package/dist/cjs/types/interfaces/IHistory.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IHookContext.d.ts +0 -8
- package/dist/cjs/types/interfaces/IHookContext.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IPluginOptions.d.ts +0 -18
- package/dist/cjs/types/interfaces/IPluginOptions.d.ts.map +0 -1
- package/dist/esm/interfaces/IContext.js +0 -2
- package/dist/esm/interfaces/IContext.js.map +0 -1
- package/dist/esm/interfaces/IEvent.js +0 -2
- package/dist/esm/interfaces/IEvent.js.map +0 -1
- package/dist/esm/interfaces/IHistory.js +0 -2
- package/dist/esm/interfaces/IHistory.js.map +0 -1
- package/dist/esm/interfaces/IHookContext.js +0 -2
- package/dist/esm/interfaces/IHookContext.js.map +0 -1
- package/dist/esm/interfaces/IPluginOptions.js +0 -2
- package/dist/esm/interfaces/IPluginOptions.js.map +0 -1
- package/dist/esm/types/interfaces/IContext.d.ts +0 -13
- package/dist/esm/types/interfaces/IContext.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IEvent.d.ts +0 -9
- package/dist/esm/types/interfaces/IEvent.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IHistory.d.ts +0 -16
- package/dist/esm/types/interfaces/IHistory.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IHookContext.d.ts +0 -8
- package/dist/esm/types/interfaces/IHookContext.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IPluginOptions.d.ts +0 -18
- package/dist/esm/types/interfaces/IPluginOptions.d.ts.map +0 -1
- package/src/interfaces/IContext.ts +0 -14
- package/src/interfaces/IEvent.ts +0 -10
- package/src/interfaces/IHistory.ts +0 -17
- package/src/interfaces/IHookContext.ts +0 -6
- package/src/interfaces/IPluginOptions.ts +0 -20
- package/tests/interfaces/IDescription.ts +0 -5
- package/tests/interfaces/IProduct.ts +0 -14
- package/tests/interfaces/IUser.ts +0 -8
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
|
-
|
|
3
1
|
import mongoose, { model } from 'mongoose'
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import History from '../src/models/History'
|
|
7
|
-
import { patchHistoryPlugin } from '../src/plugin'
|
|
8
|
-
import UserSchema from './schemas/UserSchema'
|
|
2
|
+
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
9
3
|
|
|
10
4
|
import { toObjectOptions } from '../src/helpers'
|
|
11
|
-
import {
|
|
5
|
+
import { HistoryModel } from '../src/models/History'
|
|
6
|
+
import { patchHistoryPlugin } from '../src/plugin'
|
|
7
|
+
import { isMongooseLessThan7 } from '../src/version'
|
|
12
8
|
|
|
13
9
|
import em from '../src/em'
|
|
10
|
+
import { USER_DELETED } from './constants/events'
|
|
14
11
|
import server from './mongo/server'
|
|
15
12
|
|
|
13
|
+
import { type User, UserSchema } from './schemas/User'
|
|
14
|
+
|
|
16
15
|
vi.mock('../src/em', () => ({ default: { emit: vi.fn() } }))
|
|
17
16
|
|
|
18
17
|
describe('plugin - event delete & patch history disabled', () => {
|
|
@@ -23,7 +22,7 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
23
22
|
patchHistoryDisabled: true,
|
|
24
23
|
})
|
|
25
24
|
|
|
26
|
-
const
|
|
25
|
+
const UserModel = model<User>('User', UserSchema)
|
|
27
26
|
|
|
28
27
|
beforeAll(async () => {
|
|
29
28
|
await instance.create()
|
|
@@ -43,7 +42,7 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
43
42
|
})
|
|
44
43
|
|
|
45
44
|
it('should remove() and emit one delete event', async () => {
|
|
46
|
-
const john = await
|
|
45
|
+
const john = await UserModel.create({ name: 'John', role: 'user' })
|
|
47
46
|
|
|
48
47
|
if (isMongooseLessThan7) {
|
|
49
48
|
// @ts-expect-error not available in Mongoose 6 and below
|
|
@@ -52,7 +51,7 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
52
51
|
await john.deleteOne()
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
const history = await
|
|
54
|
+
const history = await HistoryModel.find({})
|
|
56
55
|
expect(history).toHaveLength(0)
|
|
57
56
|
|
|
58
57
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -61,12 +60,12 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
61
60
|
})
|
|
62
61
|
|
|
63
62
|
// Check if data is deleted
|
|
64
|
-
const user = await
|
|
63
|
+
const user = await UserModel.findById(john._id)
|
|
65
64
|
expect(user).toBeNull()
|
|
66
65
|
})
|
|
67
66
|
|
|
68
67
|
it('should remove() and emit two delete events', async () => {
|
|
69
|
-
const users = await
|
|
68
|
+
const users = await UserModel.create([
|
|
70
69
|
{ name: 'John', role: 'user' },
|
|
71
70
|
{ name: 'Alice', role: 'user' },
|
|
72
71
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -76,12 +75,12 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
76
75
|
|
|
77
76
|
if (isMongooseLessThan7) {
|
|
78
77
|
// @ts-expect-error not available in Mongoose 6 and below
|
|
79
|
-
await
|
|
78
|
+
await UserModel.remove({ role: 'user' }).exec()
|
|
80
79
|
} else {
|
|
81
|
-
await
|
|
80
|
+
await UserModel.deleteMany({ role: 'user' }).exec()
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
const history = await
|
|
83
|
+
const history = await HistoryModel.find({})
|
|
85
84
|
expect(history).toHaveLength(0)
|
|
86
85
|
|
|
87
86
|
expect(em.emit).toHaveBeenCalledTimes(2)
|
|
@@ -93,18 +92,18 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
93
92
|
})
|
|
94
93
|
|
|
95
94
|
// Check if data is deleted
|
|
96
|
-
const deletedJohn = await
|
|
95
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
97
96
|
expect(deletedJohn).toBeNull()
|
|
98
97
|
|
|
99
|
-
const deletedAlice = await
|
|
98
|
+
const deletedAlice = await UserModel.findById(alice._id)
|
|
100
99
|
expect(deletedAlice).toBeNull()
|
|
101
100
|
|
|
102
|
-
const remaining = await
|
|
101
|
+
const remaining = await UserModel.find({})
|
|
103
102
|
expect(remaining).toHaveLength(1)
|
|
104
103
|
})
|
|
105
104
|
|
|
106
105
|
it('should remove() and emit one delete event { single: true }', async () => {
|
|
107
|
-
const users = await
|
|
106
|
+
const users = await UserModel.create([
|
|
108
107
|
{ name: 'John', role: 'user' },
|
|
109
108
|
{ name: 'Alice', role: 'user' },
|
|
110
109
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -114,12 +113,12 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
114
113
|
|
|
115
114
|
if (isMongooseLessThan7) {
|
|
116
115
|
// @ts-expect-error not available in Mongoose 6 and below
|
|
117
|
-
await
|
|
116
|
+
await UserModel.remove({ role: 'user', name: 'John' }, { single: true }).exec()
|
|
118
117
|
} else {
|
|
119
|
-
await
|
|
118
|
+
await UserModel.deleteOne({ role: 'user', name: 'John' }).exec()
|
|
120
119
|
}
|
|
121
120
|
|
|
122
|
-
const history = await
|
|
121
|
+
const history = await HistoryModel.find({})
|
|
123
122
|
expect(history).toHaveLength(0)
|
|
124
123
|
|
|
125
124
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -128,15 +127,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
128
127
|
})
|
|
129
128
|
|
|
130
129
|
// Check if data is deleted
|
|
131
|
-
const deletedJohn = await
|
|
130
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
132
131
|
expect(deletedJohn).toBeNull()
|
|
133
132
|
|
|
134
|
-
const remaining = await
|
|
133
|
+
const remaining = await UserModel.find({})
|
|
135
134
|
expect(remaining).toHaveLength(2)
|
|
136
135
|
})
|
|
137
136
|
|
|
138
137
|
it('should findOneAndDelete() and emit one delete event', async () => {
|
|
139
|
-
const users = await
|
|
138
|
+
const users = await UserModel.create([
|
|
140
139
|
{ name: 'John', role: 'user' },
|
|
141
140
|
{ name: 'Alice', role: 'user' },
|
|
142
141
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -144,9 +143,9 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
144
143
|
|
|
145
144
|
const [john] = users
|
|
146
145
|
|
|
147
|
-
await
|
|
146
|
+
await UserModel.findOneAndDelete({ name: 'John' }).exec()
|
|
148
147
|
|
|
149
|
-
const history = await
|
|
148
|
+
const history = await HistoryModel.find({})
|
|
150
149
|
expect(history).toHaveLength(0)
|
|
151
150
|
|
|
152
151
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -155,15 +154,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
155
154
|
})
|
|
156
155
|
|
|
157
156
|
// Check if data is deleted
|
|
158
|
-
const deletedJohn = await
|
|
157
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
159
158
|
expect(deletedJohn).toBeNull()
|
|
160
159
|
|
|
161
|
-
const remaining = await
|
|
160
|
+
const remaining = await UserModel.find({})
|
|
162
161
|
expect(remaining).toHaveLength(2)
|
|
163
162
|
})
|
|
164
163
|
|
|
165
164
|
it('should findOneAndRemove() and emit one delete event', async () => {
|
|
166
|
-
const users = await
|
|
165
|
+
const users = await UserModel.create([
|
|
167
166
|
{ name: 'John', role: 'user' },
|
|
168
167
|
{ name: 'Alice', role: 'admin' },
|
|
169
168
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -173,12 +172,12 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
173
172
|
|
|
174
173
|
if (isMongooseLessThan7) {
|
|
175
174
|
// @ts-expect-error not available in Mongoose 6 and below
|
|
176
|
-
await
|
|
175
|
+
await UserModel.findOneAndRemove({ role: 'user' }).exec()
|
|
177
176
|
} else {
|
|
178
|
-
await
|
|
177
|
+
await UserModel.findOneAndDelete({ role: 'user' }).exec()
|
|
179
178
|
}
|
|
180
179
|
|
|
181
|
-
const history = await
|
|
180
|
+
const history = await HistoryModel.find({})
|
|
182
181
|
expect(history).toHaveLength(0)
|
|
183
182
|
|
|
184
183
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -187,15 +186,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
187
186
|
})
|
|
188
187
|
|
|
189
188
|
// Check if data is deleted
|
|
190
|
-
const deletedJohn = await
|
|
189
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
191
190
|
expect(deletedJohn).toBeNull()
|
|
192
191
|
|
|
193
|
-
const remaining = await
|
|
192
|
+
const remaining = await UserModel.find({ name: { $in: ['Alice', 'Bob'] } })
|
|
194
193
|
expect(remaining).toHaveLength(2)
|
|
195
194
|
})
|
|
196
195
|
|
|
197
196
|
it('should findByIdAndDelete() and emit one delete event', async () => {
|
|
198
|
-
const users = await
|
|
197
|
+
const users = await UserModel.create([
|
|
199
198
|
{ name: 'John', role: 'user' },
|
|
200
199
|
{ name: 'Alice', role: 'user' },
|
|
201
200
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -203,9 +202,9 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
203
202
|
|
|
204
203
|
const [john] = users
|
|
205
204
|
|
|
206
|
-
await
|
|
205
|
+
await UserModel.findByIdAndDelete(john._id).exec()
|
|
207
206
|
|
|
208
|
-
const history = await
|
|
207
|
+
const history = await HistoryModel.find({})
|
|
209
208
|
expect(history).toHaveLength(0)
|
|
210
209
|
|
|
211
210
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -214,15 +213,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
214
213
|
})
|
|
215
214
|
|
|
216
215
|
// Check if data is deleted
|
|
217
|
-
const deletedJohn = await
|
|
216
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
218
217
|
expect(deletedJohn).toBeNull()
|
|
219
218
|
|
|
220
|
-
const remaining = await
|
|
219
|
+
const remaining = await UserModel.find({ name: { $in: ['Alice', 'Bob'] } })
|
|
221
220
|
expect(remaining).toHaveLength(2)
|
|
222
221
|
})
|
|
223
222
|
|
|
224
223
|
it('should findByIdAndRemove() and emit one delete event', async () => {
|
|
225
|
-
const users = await
|
|
224
|
+
const users = await UserModel.create([
|
|
226
225
|
{ name: 'John', role: 'user' },
|
|
227
226
|
{ name: 'Alice', role: 'user' },
|
|
228
227
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -232,12 +231,12 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
232
231
|
|
|
233
232
|
if (isMongooseLessThan7) {
|
|
234
233
|
// @ts-expect-error not available in Mongoose 6 and below
|
|
235
|
-
await
|
|
234
|
+
await UserModel.findByIdAndRemove(john._id).exec()
|
|
236
235
|
} else {
|
|
237
|
-
await
|
|
236
|
+
await UserModel.findByIdAndDelete(john._id).exec()
|
|
238
237
|
}
|
|
239
238
|
|
|
240
|
-
const history = await
|
|
239
|
+
const history = await HistoryModel.find({})
|
|
241
240
|
expect(history).toHaveLength(0)
|
|
242
241
|
|
|
243
242
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -246,15 +245,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
246
245
|
})
|
|
247
246
|
|
|
248
247
|
// Check if data is deleted
|
|
249
|
-
const deletedJohn = await
|
|
248
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
250
249
|
expect(deletedJohn).toBeNull()
|
|
251
250
|
|
|
252
|
-
const remaining = await
|
|
251
|
+
const remaining = await UserModel.find({ name: { $in: ['Alice', 'Bob'] } })
|
|
253
252
|
expect(remaining).toHaveLength(2)
|
|
254
253
|
})
|
|
255
254
|
|
|
256
255
|
it('should deleteOne() and emit one delete event', async () => {
|
|
257
|
-
const users = await
|
|
256
|
+
const users = await UserModel.create([
|
|
258
257
|
{ name: 'John', role: 'user' },
|
|
259
258
|
{ name: 'Alice', role: 'admin' },
|
|
260
259
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -262,9 +261,9 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
262
261
|
|
|
263
262
|
const [john] = users
|
|
264
263
|
|
|
265
|
-
await
|
|
264
|
+
await UserModel.deleteOne({ role: 'user' }).exec()
|
|
266
265
|
|
|
267
|
-
const history = await
|
|
266
|
+
const history = await HistoryModel.find({})
|
|
268
267
|
expect(history).toHaveLength(0)
|
|
269
268
|
|
|
270
269
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -273,15 +272,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
273
272
|
})
|
|
274
273
|
|
|
275
274
|
// Check if data is deleted
|
|
276
|
-
const deletedJohn = await
|
|
275
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
277
276
|
expect(deletedJohn).toBeNull()
|
|
278
277
|
|
|
279
|
-
const remaining = await
|
|
278
|
+
const remaining = await UserModel.find({ name: { $in: ['Alice', 'Bob'] } })
|
|
280
279
|
expect(remaining).toHaveLength(2)
|
|
281
280
|
})
|
|
282
281
|
|
|
283
282
|
it('should deleteMany() and emit two delete events', async () => {
|
|
284
|
-
const users = await
|
|
283
|
+
const users = await UserModel.create([
|
|
285
284
|
{ name: 'John', role: 'user' },
|
|
286
285
|
{ name: 'Alice', role: 'user' },
|
|
287
286
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -289,9 +288,9 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
289
288
|
|
|
290
289
|
const [john, alice] = users
|
|
291
290
|
|
|
292
|
-
await
|
|
291
|
+
await UserModel.deleteMany({ role: 'user' }).exec()
|
|
293
292
|
|
|
294
|
-
const history = await
|
|
293
|
+
const history = await HistoryModel.find({})
|
|
295
294
|
expect(history).toHaveLength(0)
|
|
296
295
|
|
|
297
296
|
expect(em.emit).toHaveBeenCalledTimes(2)
|
|
@@ -303,18 +302,18 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
303
302
|
})
|
|
304
303
|
|
|
305
304
|
// Check if data is deleted
|
|
306
|
-
const deletedJohn = await
|
|
305
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
307
306
|
expect(deletedJohn).toBeNull()
|
|
308
307
|
|
|
309
|
-
const deletedAlice = await
|
|
308
|
+
const deletedAlice = await UserModel.findById(alice._id)
|
|
310
309
|
expect(deletedAlice).toBeNull()
|
|
311
310
|
|
|
312
|
-
const remaining = await
|
|
311
|
+
const remaining = await UserModel.find({})
|
|
313
312
|
expect(remaining).toHaveLength(1)
|
|
314
313
|
})
|
|
315
314
|
|
|
316
315
|
it('should deleteMany() and emit one delete event { single: true }', async () => {
|
|
317
|
-
const users = await
|
|
316
|
+
const users = await UserModel.create([
|
|
318
317
|
{ name: 'John', role: 'user' },
|
|
319
318
|
{ name: 'Alice', role: 'user' },
|
|
320
319
|
{ name: 'Bob', role: 'admin' },
|
|
@@ -323,12 +322,12 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
323
322
|
const [john] = users
|
|
324
323
|
|
|
325
324
|
if (isMongooseLessThan7) {
|
|
326
|
-
await
|
|
325
|
+
await UserModel.deleteMany({ name: 'John' }, { single: true }).exec()
|
|
327
326
|
} else {
|
|
328
|
-
await
|
|
327
|
+
await UserModel.deleteOne({ name: 'John' }).exec()
|
|
329
328
|
}
|
|
330
329
|
|
|
331
|
-
const history = await
|
|
330
|
+
const history = await HistoryModel.find({})
|
|
332
331
|
expect(history).toHaveLength(0)
|
|
333
332
|
|
|
334
333
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -337,15 +336,15 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
337
336
|
})
|
|
338
337
|
|
|
339
338
|
// Check if data is deleted
|
|
340
|
-
const deletedJohn = await
|
|
339
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
341
340
|
expect(deletedJohn).toBeNull()
|
|
342
341
|
|
|
343
|
-
const remaining = await
|
|
342
|
+
const remaining = await UserModel.find({})
|
|
344
343
|
expect(remaining).toHaveLength(2)
|
|
345
344
|
})
|
|
346
345
|
|
|
347
346
|
it('should create then delete and emit one delete event', async () => {
|
|
348
|
-
const john = await
|
|
347
|
+
const john = await UserModel.create({ name: 'John', role: 'user' })
|
|
349
348
|
|
|
350
349
|
if (isMongooseLessThan7) {
|
|
351
350
|
// @ts-expect-error not available in Mongoose 6 and below
|
|
@@ -354,7 +353,7 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
354
353
|
await john.deleteOne()
|
|
355
354
|
}
|
|
356
355
|
|
|
357
|
-
const history = await
|
|
356
|
+
const history = await HistoryModel.find({})
|
|
358
357
|
expect(history).toHaveLength(0)
|
|
359
358
|
|
|
360
359
|
expect(em.emit).toHaveBeenCalledTimes(1)
|
|
@@ -363,41 +362,41 @@ describe('plugin - event delete & patch history disabled', () => {
|
|
|
363
362
|
})
|
|
364
363
|
|
|
365
364
|
// Check if data is deleted
|
|
366
|
-
const deletedJohn = await
|
|
365
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
367
366
|
expect(deletedJohn).toBeNull()
|
|
368
367
|
|
|
369
|
-
const remaining = await
|
|
368
|
+
const remaining = await UserModel.find({})
|
|
370
369
|
expect(remaining).toHaveLength(0)
|
|
371
370
|
})
|
|
372
371
|
|
|
373
372
|
it('should ignoreHook option on deleteMany', async () => {
|
|
374
|
-
const john = await
|
|
375
|
-
await
|
|
373
|
+
const john = await UserModel.create({ name: 'John', role: 'user' })
|
|
374
|
+
await UserModel.deleteMany({ role: 'user' }, { ignoreHook: true }).exec()
|
|
376
375
|
|
|
377
|
-
const history = await
|
|
376
|
+
const history = await HistoryModel.find({})
|
|
378
377
|
expect(history).toHaveLength(0)
|
|
379
378
|
|
|
380
379
|
expect(em.emit).toHaveBeenCalledTimes(0)
|
|
381
380
|
|
|
382
381
|
// Check if data is deleted
|
|
383
|
-
const deletedJohn = await
|
|
382
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
384
383
|
expect(deletedJohn).toBeNull()
|
|
385
384
|
})
|
|
386
385
|
|
|
387
386
|
it('should ignoreHook option on deleteOne', async () => {
|
|
388
|
-
const john = await
|
|
389
|
-
await
|
|
387
|
+
const john = await UserModel.create({ name: 'John', role: 'user' })
|
|
388
|
+
await UserModel.deleteOne({ role: 'user' }, { ignoreHook: true }).exec()
|
|
390
389
|
|
|
391
|
-
const history = await
|
|
390
|
+
const history = await HistoryModel.find({})
|
|
392
391
|
expect(history).toHaveLength(0)
|
|
393
392
|
|
|
394
393
|
expect(em.emit).toHaveBeenCalledTimes(0)
|
|
395
394
|
|
|
396
395
|
// Check if data is deleted
|
|
397
|
-
const deletedJohn = await
|
|
396
|
+
const deletedJohn = await UserModel.findById(john._id)
|
|
398
397
|
expect(deletedJohn).toBeNull()
|
|
399
398
|
|
|
400
|
-
const remaining = await
|
|
399
|
+
const remaining = await UserModel.find({})
|
|
401
400
|
expect(remaining).toHaveLength(0)
|
|
402
401
|
})
|
|
403
402
|
})
|