mongodb-dynamic-api 4.0.0 → 4.1.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +2 -0
  3. package/package.json +1 -1
  4. package/src/adapters/socket-adapter.d.ts +1 -0
  5. package/src/adapters/socket-adapter.js +8 -1
  6. package/src/adapters/socket-adapter.js.map +1 -1
  7. package/src/dynamic-api.module.js +9 -7
  8. package/src/dynamic-api.module.js.map +1 -1
  9. package/src/gateways/base.gateway.js +10 -2
  10. package/src/gateways/base.gateway.js.map +1 -1
  11. package/src/gateways/dynamic-api-broadcast.gateway.d.ts +13 -1
  12. package/src/gateways/dynamic-api-broadcast.gateway.js +32 -0
  13. package/src/gateways/dynamic-api-broadcast.gateway.js.map +1 -1
  14. package/src/helpers/index.d.ts +1 -0
  15. package/src/helpers/index.js +1 -0
  16. package/src/helpers/index.js.map +1 -1
  17. package/src/helpers/resolve-rooms.helper.d.ts +3 -0
  18. package/src/helpers/resolve-rooms.helper.js +18 -0
  19. package/src/helpers/resolve-rooms.helper.js.map +1 -0
  20. package/src/interfaces/dynamic-api-ability.interface.d.ts +2 -1
  21. package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +2 -1
  22. package/src/modules/auth/auth.helper.d.ts +1 -1
  23. package/src/modules/auth/auth.helper.js +19 -2
  24. package/src/modules/auth/auth.helper.js.map +1 -1
  25. package/src/modules/auth/auth.module.js +1 -1
  26. package/src/modules/auth/auth.module.js.map +1 -1
  27. package/src/modules/auth/interfaces/auth-options.interface.d.ts +5 -1
  28. package/src/modules/auth/mixins/auth-controller.mixin.js +2 -0
  29. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  30. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +10 -2
  31. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
  32. package/src/version.json +1 -1
  33. package/test/e2e.setup.d.ts +22 -0
  34. package/test/e2e.setup.js +145 -0
  35. package/test/e2e.setup.js.map +1 -1
  36. package/test/for-feature/room-broadcast.e2e-spec.d.ts +1 -0
  37. package/test/for-feature/room-broadcast.e2e-spec.js +192 -0
  38. package/test/for-feature/room-broadcast.e2e-spec.js.map +1 -0
  39. package/test/test-socket-adapter.d.ts +1 -0
  40. package/test/test-socket-adapter.js +11 -4
  41. package/test/test-socket-adapter.js.map +1 -1
  42. package/tsconfig.tsbuildinfo +1 -1
@@ -25,6 +25,14 @@ type HttpBroadcastOptions = {
25
25
  timeoutMs?: number;
26
26
  connectTimeoutMs?: number;
27
27
  };
28
+ type RoomsBroadcastOptions = {
29
+ receiverAccessToken: string;
30
+ rooms: string | string[];
31
+ broadcastEvent: string;
32
+ namespace?: string;
33
+ timeoutMs?: number;
34
+ connectTimeoutMs?: number;
35
+ };
28
36
  declare global {
29
37
  var app: INestApplication | undefined;
30
38
  var appBaseUrl: string | undefined;
@@ -44,6 +52,20 @@ export declare const server: {
44
52
  httpResponse: Response;
45
53
  broadcastData: any;
46
54
  }>;
55
+ emitWithRoomsBroadcast: <Data, Response = any>(event: string, data: Data, emitOptions: {
56
+ accessToken?: string;
57
+ namespace?: string;
58
+ }, { receiverAccessToken, rooms, broadcastEvent, namespace, timeoutMs, connectTimeoutMs }: RoomsBroadcastOptions) => Promise<{
59
+ response: Response;
60
+ outsiderReceivedBroadcast: boolean;
61
+ }>;
62
+ httpWithRoomsBroadcast: <Body extends object, Response = any>(method: "get" | "post" | "patch" | "put" | "delete", path: string, body: object | undefined, { receiverAccessToken, rooms, broadcastEvent, namespace, authToken, query, timeoutMs, connectTimeoutMs }: RoomsBroadcastOptions & {
63
+ authToken?: string;
64
+ query?: Record<string, any>;
65
+ }) => Promise<{
66
+ httpResponse: Response;
67
+ outsiderReceivedBroadcast: boolean;
68
+ }>;
47
69
  emit: <Data, Response = any>(event: string, data?: Data, { accessToken, refreshToken, namespace, broadcastEvent, expectBroadcast, timeoutMs, connectTimeoutMs }?: SocketOptions) => Promise<Response>;
48
70
  };
49
71
  export declare class TestGateway {
package/test/e2e.setup.js CHANGED
@@ -220,6 +220,151 @@ exports.server = {
220
220
  .catch((error) => finalize(undefined, toError(error, 'HTTP request failed')));
221
221
  });
222
222
  },
223
+ emitWithRoomsBroadcast: async (event, data, emitOptions, { receiverAccessToken, rooms, broadcastEvent, namespace, timeoutMs = DEFAULT_SOCKET_TIMEOUT_MS, connectTimeoutMs = DEFAULT_SOCKET_CONNECT_TIMEOUT_MS }) => {
224
+ verifyApp();
225
+ return new Promise((resolve, reject) => {
226
+ const baseUrl = getAppBaseUrl();
227
+ const emitter = (0, socket_io_client_1.io)(baseUrl, { query: { accessToken: emitOptions.accessToken }, path: emitOptions.namespace });
228
+ const receiver = (0, socket_io_client_1.io)(baseUrl, { query: { accessToken: receiverAccessToken }, path: namespace });
229
+ const outsider = (0, socket_io_client_1.io)(baseUrl, { path: namespace });
230
+ let settled = false;
231
+ let responseReceived = false;
232
+ let broadcastReceived = false;
233
+ let outsiderReceivedBroadcast = false;
234
+ let responseValue;
235
+ let timeoutRef;
236
+ const cleanup = () => {
237
+ [emitter, receiver, outsider].forEach((s) => {
238
+ s.removeAllListeners();
239
+ s.disconnect();
240
+ s.close();
241
+ });
242
+ };
243
+ const finalize = (result, error) => {
244
+ if (settled)
245
+ return;
246
+ settled = true;
247
+ if (timeoutRef)
248
+ clearTimeout(timeoutRef);
249
+ cleanup();
250
+ if (error) {
251
+ reject(error);
252
+ return;
253
+ }
254
+ resolve(result);
255
+ };
256
+ const tryFinalize = () => {
257
+ if (responseReceived && broadcastReceived) {
258
+ setTimeout(() => finalize({ response: responseValue, outsiderReceivedBroadcast }), 300);
259
+ }
260
+ };
261
+ receiver.on(broadcastEvent, (receivedData) => {
262
+ (0, exports.handleSocketBroadcast)({ event: broadcastEvent, data: receivedData });
263
+ broadcastReceived = true;
264
+ tryFinalize();
265
+ });
266
+ outsider.on(broadcastEvent, () => { outsiderReceivedBroadcast = true; });
267
+ emitter.on(event, (receivedData) => {
268
+ (0, exports.handleSocketResponse)(receivedData);
269
+ responseValue = receivedData;
270
+ responseReceived = true;
271
+ tryFinalize();
272
+ });
273
+ emitter.on('exception', (exception) => {
274
+ (0, exports.handleSocketException)(exception);
275
+ responseValue = exception;
276
+ responseReceived = true;
277
+ tryFinalize();
278
+ });
279
+ timeoutRef = setTimeout(() => {
280
+ finalize(undefined, new Error(`emitWithRoomsBroadcast timeout after ${timeoutMs}ms (responseReceived=${responseReceived}, broadcastReceived=${broadcastReceived}, event=${event})`));
281
+ }, timeoutMs);
282
+ Promise.all([
283
+ waitForSocketConnect(emitter, 'Emitter', connectTimeoutMs),
284
+ waitForSocketConnect(receiver, 'Receiver', connectTimeoutMs),
285
+ waitForSocketConnect(outsider, 'Outsider', connectTimeoutMs),
286
+ ])
287
+ .then(() => new Promise((res, rej) => {
288
+ receiver.once('join-rooms', () => res());
289
+ receiver.once('exception', (err) => rej(new Error(`join-rooms failed: ${JSON.stringify(err)}`)));
290
+ receiver.emit('join-rooms', { rooms });
291
+ }))
292
+ .then(() => { emitter.emit(event, data); })
293
+ .catch((error) => finalize(undefined, toError(error, 'emitWithRoomsBroadcast setup failed')));
294
+ });
295
+ },
296
+ httpWithRoomsBroadcast: async (method, path, body, { receiverAccessToken, rooms, broadcastEvent, namespace, authToken, query, timeoutMs = DEFAULT_SOCKET_TIMEOUT_MS, connectTimeoutMs = DEFAULT_SOCKET_CONNECT_TIMEOUT_MS }) => {
297
+ verifyApp();
298
+ return new Promise((resolve, reject) => {
299
+ const baseUrl = getAppBaseUrl();
300
+ const receiver = (0, socket_io_client_1.io)(baseUrl, { query: { accessToken: receiverAccessToken }, path: namespace });
301
+ const outsider = (0, socket_io_client_1.io)(baseUrl, { path: namespace });
302
+ let settled = false;
303
+ let httpResponseReceived = false;
304
+ let broadcastReceived = false;
305
+ let outsiderReceivedBroadcast = false;
306
+ let httpResponseValue;
307
+ let timeoutRef;
308
+ const cleanup = () => {
309
+ [receiver, outsider].forEach((s) => {
310
+ s.removeAllListeners();
311
+ s.disconnect();
312
+ s.close();
313
+ });
314
+ };
315
+ const finalize = (result, error) => {
316
+ if (settled)
317
+ return;
318
+ settled = true;
319
+ if (timeoutRef)
320
+ clearTimeout(timeoutRef);
321
+ cleanup();
322
+ if (error) {
323
+ reject(error);
324
+ return;
325
+ }
326
+ resolve(result);
327
+ };
328
+ const tryFinalize = () => {
329
+ if (httpResponseReceived && broadcastReceived) {
330
+ setTimeout(() => finalize({ httpResponse: httpResponseValue, outsiderReceivedBroadcast }), 300);
331
+ }
332
+ };
333
+ receiver.on(broadcastEvent, (receivedData) => {
334
+ (0, exports.handleSocketBroadcast)({ event: broadcastEvent, data: receivedData });
335
+ broadcastReceived = true;
336
+ tryFinalize();
337
+ });
338
+ outsider.on(broadcastEvent, () => { outsiderReceivedBroadcast = true; });
339
+ timeoutRef = setTimeout(() => {
340
+ finalize(undefined, new Error(`httpWithRoomsBroadcast timeout after ${timeoutMs}ms (httpReceived=${httpResponseReceived}, broadcastReceived=${broadcastReceived}, event=${broadcastEvent})`));
341
+ }, timeoutMs);
342
+ Promise.all([
343
+ waitForSocketConnect(receiver, 'Receiver', connectTimeoutMs),
344
+ waitForSocketConnect(outsider, 'Outsider', connectTimeoutMs),
345
+ ])
346
+ .then(() => new Promise((res, rej) => {
347
+ receiver.once('join-rooms', () => res());
348
+ receiver.once('exception', (err) => rej(new Error(`join-rooms failed: ${JSON.stringify(err)}`)));
349
+ receiver.emit('join-rooms', { rooms });
350
+ }))
351
+ .then(() => {
352
+ const req = verifyApp()[method](path).query(query ?? {});
353
+ const reqWithBody = (method !== 'get' && body !== undefined) ? req.send(body) : req;
354
+ return reqWithBody.set({
355
+ ...(authToken ? { Authorization: `Bearer ${authToken}` } : {}),
356
+ 'Content-Type': 'application/json',
357
+ 'User-Agent': 'Chrome/51.0.2704.103 Safari/537.36',
358
+ });
359
+ })
360
+ .then((response) => {
361
+ httpResponseValue = response;
362
+ httpResponseReceived = true;
363
+ tryFinalize();
364
+ })
365
+ .catch((error) => finalize(undefined, toError(error, 'httpWithRoomsBroadcast failed')));
366
+ });
367
+ },
223
368
  emit: async (event, data, { accessToken, refreshToken, namespace, broadcastEvent, expectBroadcast = false, timeoutMs = DEFAULT_SOCKET_TIMEOUT_MS, connectTimeoutMs = DEFAULT_SOCKET_CONNECT_TIMEOUT_MS } = {}) => {
224
369
  verifyApp();
225
370
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"e2e.setup.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/e2e.setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e.setup.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/e2e.setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'dotenv/config';
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const mongoose_1 = require("@nestjs/mongoose");
13
+ const mongoose_2 = require("mongoose");
14
+ const src_1 = require("../../src");
15
+ const e2e_setup_1 = require("../e2e.setup");
16
+ require("dotenv/config");
17
+ const utils_1 = require("../utils");
18
+ const shared_1 = require("../shared");
19
+ describe('DynamicApiModule forFeature - Room-targeted Broadcast (e2e)', () => {
20
+ beforeEach(() => {
21
+ src_1.DynamicApiModule.state['resetState']();
22
+ });
23
+ afterEach(async () => {
24
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
25
+ });
26
+ let RbUserEntity = class RbUserEntity extends src_1.BaseEntity {
27
+ };
28
+ __decorate([
29
+ (0, mongoose_1.Prop)({ type: String, required: true }),
30
+ __metadata("design:type", String)
31
+ ], RbUserEntity.prototype, "email", void 0);
32
+ __decorate([
33
+ (0, mongoose_1.Prop)({ type: String, required: true }),
34
+ __metadata("design:type", String)
35
+ ], RbUserEntity.prototype, "password", void 0);
36
+ RbUserEntity = __decorate([
37
+ (0, mongoose_1.Schema)({ collection: 'rb_users' })
38
+ ], RbUserEntity);
39
+ let RbItemEntity = class RbItemEntity extends src_1.BaseEntity {
40
+ };
41
+ __decorate([
42
+ (0, mongoose_1.Prop)({ type: String, required: true }),
43
+ __metadata("design:type", String)
44
+ ], RbItemEntity.prototype, "name", void 0);
45
+ __decorate([
46
+ (0, mongoose_1.Prop)({ type: String }),
47
+ __metadata("design:type", String)
48
+ ], RbItemEntity.prototype, "category", void 0);
49
+ RbItemEntity = __decorate([
50
+ (0, mongoose_1.Schema)({ collection: 'rb_items' })
51
+ ], RbItemEntity);
52
+ const STATIC_ROOM = 'items-room';
53
+ let accessToken;
54
+ let existingItem;
55
+ beforeEach(async () => {
56
+ const fixtures = async (_) => {
57
+ const model = await (0, utils_1.getModelFromEntity)(RbItemEntity);
58
+ existingItem = (await model.create({ name: 'initial', category: 'electronics' }));
59
+ };
60
+ await (0, shared_1.initApp)({
61
+ entity: RbItemEntity,
62
+ controllerOptions: {
63
+ path: 'rb-items',
64
+ apiTag: 'RbItem',
65
+ isPublic: true,
66
+ },
67
+ routes: [
68
+ {
69
+ type: 'CreateOne',
70
+ webSocket: true,
71
+ broadcast: { enabled: true, rooms: STATIC_ROOM },
72
+ },
73
+ {
74
+ type: 'UpdateOne',
75
+ webSocket: true,
76
+ broadcast: {
77
+ enabled: true,
78
+ rooms: (item) => item.category ?? 'unknown',
79
+ },
80
+ },
81
+ {
82
+ type: 'DuplicateOne',
83
+ broadcast: { enabled: true, rooms: STATIC_ROOM },
84
+ },
85
+ {
86
+ type: 'ReplaceOne',
87
+ broadcast: {
88
+ enabled: true,
89
+ rooms: (item) => item.category ?? 'unknown',
90
+ },
91
+ },
92
+ ],
93
+ }, {
94
+ useAuth: {
95
+ userEntity: RbUserEntity,
96
+ login: { loginField: 'email', passwordField: 'password' },
97
+ webSocket: true,
98
+ },
99
+ }, fixtures, async (app) => {
100
+ app.useWebSocketAdapter(new e2e_setup_1.TestSocketAdapter(app));
101
+ }, true);
102
+ const response = await e2e_setup_1.server.emit('auth-register', {
103
+ email: 'room-user@test.co',
104
+ password: 'pass',
105
+ });
106
+ accessToken = response.accessToken;
107
+ jest.clearAllMocks();
108
+ });
109
+ describe('join-rooms', () => {
110
+ it('should throw Unauthorized when no access token provided', async () => {
111
+ await e2e_setup_1.server.emit('join-rooms', { rooms: STATIC_ROOM });
112
+ expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
113
+ expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith(expect.objectContaining({ message: 'Unauthorized' }));
114
+ });
115
+ it('should join a single room and return the room list', async () => {
116
+ const response = await e2e_setup_1.server.emit('join-rooms', { rooms: STATIC_ROOM }, { accessToken });
117
+ expect(response).toEqual([STATIC_ROOM]);
118
+ });
119
+ it('should join multiple rooms and return the full room list', async () => {
120
+ const response = await e2e_setup_1.server.emit('join-rooms', { rooms: ['room-a', 'room-b'] }, { accessToken });
121
+ expect(response).toEqual(['room-a', 'room-b']);
122
+ });
123
+ });
124
+ describe('leave-rooms', () => {
125
+ it('should throw Unauthorized when no access token provided', async () => {
126
+ await e2e_setup_1.server.emit('leave-rooms', { rooms: STATIC_ROOM });
127
+ expect(e2e_setup_1.handleSocketException).toHaveBeenCalledTimes(1);
128
+ expect(e2e_setup_1.handleSocketException).toHaveBeenCalledWith(expect.objectContaining({ message: 'Unauthorized' }));
129
+ });
130
+ it('should leave a single room and return the room list', async () => {
131
+ await e2e_setup_1.server.emit('join-rooms', { rooms: STATIC_ROOM }, { accessToken });
132
+ jest.clearAllMocks();
133
+ const response = await e2e_setup_1.server.emit('leave-rooms', { rooms: STATIC_ROOM }, { accessToken });
134
+ expect(response).toEqual([STATIC_ROOM]);
135
+ });
136
+ it('should leave multiple rooms and return the room list', async () => {
137
+ await e2e_setup_1.server.emit('join-rooms', { rooms: ['room-x', 'room-y'] }, { accessToken });
138
+ jest.clearAllMocks();
139
+ const response = await e2e_setup_1.server.emit('leave-rooms', { rooms: ['room-x', 'room-y'] }, { accessToken });
140
+ expect(response).toEqual(['room-x', 'room-y']);
141
+ });
142
+ });
143
+ describe('WS broadcast with rooms', () => {
144
+ it('[static rooms] should broadcast only to sockets that joined the room', async () => {
145
+ const { response, outsiderReceivedBroadcast } = await e2e_setup_1.server.emitWithRoomsBroadcast('create-one-rb-item', { name: 'room-item', category: 'gadgets' }, { accessToken }, { receiverAccessToken: accessToken, rooms: STATIC_ROOM, broadcastEvent: 'create-one-rb-item' });
146
+ expect(response).toEqual(expect.objectContaining({ name: 'room-item' }));
147
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
148
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith(expect.objectContaining({
149
+ event: 'create-one-rb-item',
150
+ data: expect.arrayContaining([expect.objectContaining({ name: 'room-item' })]),
151
+ }));
152
+ expect(outsiderReceivedBroadcast).toBe(false);
153
+ });
154
+ it('[dynamic rooms] should broadcast only to sockets in the resolved room', async () => {
155
+ const { response, outsiderReceivedBroadcast } = await e2e_setup_1.server.emitWithRoomsBroadcast('update-one-rb-item', { id: existingItem.id, name: 'updated-item', category: 'electronics' }, { accessToken }, { receiverAccessToken: accessToken, rooms: 'electronics', broadcastEvent: 'update-one-rb-item' });
156
+ expect(response).toEqual(expect.objectContaining({ name: 'updated-item' }));
157
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
158
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith(expect.objectContaining({
159
+ event: 'update-one-rb-item',
160
+ data: expect.arrayContaining([expect.objectContaining({ name: 'updated-item', category: 'electronics' })]),
161
+ }));
162
+ expect(outsiderReceivedBroadcast).toBe(false);
163
+ });
164
+ it('[dynamic rooms] should NOT broadcast to a socket in a different room', async () => {
165
+ const { outsiderReceivedBroadcast } = await e2e_setup_1.server.emitWithRoomsBroadcast('update-one-rb-item', { id: existingItem.id, name: 'updated-item', category: 'electronics' }, { accessToken }, { receiverAccessToken: accessToken, rooms: 'wrong-room', broadcastEvent: 'update-one-rb-item', timeoutMs: 3000 }).catch(() => ({ outsiderReceivedBroadcast: false }));
166
+ expect(outsiderReceivedBroadcast).toBe(false);
167
+ });
168
+ });
169
+ describe('HTTP broadcast with rooms', () => {
170
+ it('[static rooms] should broadcast only to sockets that joined the room', async () => {
171
+ const { httpResponse, outsiderReceivedBroadcast } = await e2e_setup_1.server.httpWithRoomsBroadcast('post', `/rb-items/duplicate/${existingItem.id}`, { name: 'duplicated-item' }, { receiverAccessToken: accessToken, rooms: STATIC_ROOM, broadcastEvent: 'duplicate-one-rb-item' });
172
+ expect(httpResponse).toBeDefined();
173
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
174
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith(expect.objectContaining({
175
+ event: 'duplicate-one-rb-item',
176
+ data: expect.arrayContaining([expect.objectContaining({ name: 'duplicated-item' })]),
177
+ }));
178
+ expect(outsiderReceivedBroadcast).toBe(false);
179
+ });
180
+ it('[dynamic rooms] should broadcast only to sockets in the resolved room', async () => {
181
+ const { httpResponse, outsiderReceivedBroadcast } = await e2e_setup_1.server.httpWithRoomsBroadcast('put', `/rb-items/${existingItem.id}`, { name: 'replaced-item', category: 'electronics' }, { receiverAccessToken: accessToken, rooms: 'electronics', broadcastEvent: 'replace-one-rb-item' });
182
+ expect(httpResponse).toBeDefined();
183
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
184
+ expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith(expect.objectContaining({
185
+ event: 'replace-one-rb-item',
186
+ data: expect.arrayContaining([expect.objectContaining({ name: 'replaced-item', category: 'electronics' })]),
187
+ }));
188
+ expect(outsiderReceivedBroadcast).toBe(false);
189
+ });
190
+ });
191
+ });
192
+ //# sourceMappingURL=room-broadcast.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room-broadcast.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/room-broadcast.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { IoAdapter } from '@nestjs/platform-socket.io';
2
2
  import { ServerOptions } from 'socket.io';
3
3
  export declare class TestSocketAdapter extends IoAdapter {
4
+ private ioServer;
4
5
  createIOServer(port: number, options?: ServerOptions & {
5
6
  namespace?: string;
6
7
  server?: any;
@@ -3,8 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TestSocketAdapter = void 0;
4
4
  const platform_socket_io_1 = require("@nestjs/platform-socket.io");
5
5
  class TestSocketAdapter extends platform_socket_io_1.IoAdapter {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.ioServer = null;
9
+ }
6
10
  createIOServer(port, options) {
7
- const server = super.createIOServer(port, {
11
+ if (this.ioServer) {
12
+ return this.ioServer;
13
+ }
14
+ this.ioServer = super.createIOServer(port, {
8
15
  ...options,
9
16
  cors: options?.cors ?? {
10
17
  origin: '*',
@@ -12,11 +19,11 @@ class TestSocketAdapter extends platform_socket_io_1.IoAdapter {
12
19
  credentials: false,
13
20
  },
14
21
  });
15
- server.sockets.setMaxListeners(50);
16
- server.on('connection', (socket) => {
22
+ this.ioServer.sockets.setMaxListeners(50);
23
+ this.ioServer.on('connection', (socket) => {
17
24
  socket.setMaxListeners(50);
18
25
  });
19
- return server;
26
+ return this.ioServer;
20
27
  }
21
28
  }
22
29
  exports.TestSocketAdapter = TestSocketAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"test-socket-adapter.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/test-socket-adapter.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AAGvD,MAAa,iBAAkB,SAAQ,8BAAS;IAC9C,cAAc,CACZ,IAAY,EACZ,OAGC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YACxC,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI;gBACrB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACxB,WAAW,EAAE,KAAK;aACnB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzBD,8CAyBC"}
1
+ {"version":3,"file":"test-socket-adapter.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/test-socket-adapter.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AAGvD,MAAa,iBAAkB,SAAQ,8BAAS;IAAhD;;QACU,aAAQ,GAAkB,IAAI,CAAC;IA8BzC,CAAC;IA5BC,cAAc,CACZ,IAAY,EACZ,OAGC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YACzC,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI;gBACrB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACxB,WAAW,EAAE,KAAK;aACnB;SACF,CAAW,CAAC;QAEb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACxC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AA/BD,8CA+BC"}