@juzi/wechaty 1.0.155 → 1.0.157

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 (62) hide show
  1. package/dist/cjs/src/package-json.js +4 -4
  2. package/dist/cjs/src/user-modules/call.spec.js +5 -1
  3. package/dist/cjs/src/user-modules/call.spec.js.map +1 -1
  4. package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
  5. package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
  6. package/dist/cjs/src/user-modules/contact-alias-polling.spec.js +58 -0
  7. package/dist/cjs/src/user-modules/contact-alias-polling.spec.js.map +1 -0
  8. package/dist/cjs/src/user-modules/contact.d.ts +24 -0
  9. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
  10. package/dist/cjs/src/user-modules/contact.js +69 -5
  11. package/dist/cjs/src/user-modules/contact.js.map +1 -1
  12. package/dist/cjs/src/user-modules/contact.spec.js +156 -0
  13. package/dist/cjs/src/user-modules/contact.spec.js.map +1 -1
  14. package/dist/cjs/src/user-modules/room.d.ts +23 -0
  15. package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
  16. package/dist/cjs/src/user-modules/room.js +52 -0
  17. package/dist/cjs/src/user-modules/room.js.map +1 -1
  18. package/dist/cjs/src/user-modules/room.spec.js +156 -0
  19. package/dist/cjs/src/user-modules/room.spec.js.map +1 -1
  20. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
  21. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
  22. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +68 -0
  23. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
  24. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  25. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +14 -9
  26. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  27. package/dist/esm/src/package-json.js +4 -4
  28. package/dist/esm/src/user-modules/call.spec.js +5 -1
  29. package/dist/esm/src/user-modules/call.spec.js.map +1 -1
  30. package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
  31. package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
  32. package/dist/esm/src/user-modules/contact-alias-polling.spec.js +56 -0
  33. package/dist/esm/src/user-modules/contact-alias-polling.spec.js.map +1 -0
  34. package/dist/esm/src/user-modules/contact.d.ts +24 -0
  35. package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
  36. package/dist/esm/src/user-modules/contact.js +69 -5
  37. package/dist/esm/src/user-modules/contact.js.map +1 -1
  38. package/dist/esm/src/user-modules/contact.spec.js +157 -1
  39. package/dist/esm/src/user-modules/contact.spec.js.map +1 -1
  40. package/dist/esm/src/user-modules/room.d.ts +23 -0
  41. package/dist/esm/src/user-modules/room.d.ts.map +1 -1
  42. package/dist/esm/src/user-modules/room.js +52 -0
  43. package/dist/esm/src/user-modules/room.js.map +1 -1
  44. package/dist/esm/src/user-modules/room.spec.js +156 -0
  45. package/dist/esm/src/user-modules/room.spec.js.map +1 -1
  46. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
  47. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
  48. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +43 -0
  49. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
  50. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  51. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +14 -9
  52. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  53. package/package.json +3 -3
  54. package/src/package-json.ts +4 -4
  55. package/src/user-modules/call.spec.ts +5 -1
  56. package/src/user-modules/contact-alias-polling.spec.ts +70 -0
  57. package/src/user-modules/contact.spec.ts +212 -0
  58. package/src/user-modules/contact.ts +81 -5
  59. package/src/user-modules/room.spec.ts +210 -0
  60. package/src/user-modules/room.ts +63 -0
  61. package/src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts +55 -0
  62. package/src/wechaty-mixins/puppet-mixin.ts +14 -9
@@ -70,6 +70,162 @@ const contact_js_1 = require("./contact.js");
70
70
  t.fail(c.toString());
71
71
  }, 'should throw when we instanciate a global class');
72
72
  });
73
+ (0, tstest_1.test)('findAllIter() yields every contact returned by contactSearch', async (t) => {
74
+ const TOTAL = 7;
75
+ const sandbox = tstest_1.sinon.createSandbox();
76
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
77
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
78
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
79
+ const buildPayload = (id) => ({ id, name: `name-${id}` });
80
+ sandbox.stub(puppet, 'contactSearch').resolves(idList);
81
+ sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
82
+ const ids = args[0];
83
+ return new Map(ids.map(id => [id, buildPayload(id)]));
84
+ });
85
+ await wechaty.start();
86
+ const bot = puppet.mocker.createContact({ name: 'bot' });
87
+ await puppet.mocker.login(bot);
88
+ const seen = [];
89
+ for await (const chunk of wechaty.Contact.findAllIter()) {
90
+ for (const contact of chunk) {
91
+ seen.push(contact.id);
92
+ }
93
+ }
94
+ t.equal(seen.length, TOTAL, `should yield ${TOTAL} contacts`);
95
+ t.same(seen, idList, 'should yield contacts in search order');
96
+ await wechaty.stop();
97
+ });
98
+ (0, tstest_1.test)('findAllIter() chunks 101 contacts into [100, 1] at default batch=100', async (t) => {
99
+ const TOTAL = 101;
100
+ const sandbox = tstest_1.sinon.createSandbox();
101
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
102
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
103
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
104
+ sandbox.stub(puppet, 'contactSearch').resolves(idList);
105
+ sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
106
+ const ids = args[0];
107
+ return new Map(ids.map(id => [id, { id, name: id }]));
108
+ });
109
+ await wechaty.start();
110
+ const bot = puppet.mocker.createContact({ name: 'bot' });
111
+ await puppet.mocker.login(bot);
112
+ const sizes = [];
113
+ for await (const chunk of wechaty.Contact.findAllIter()) {
114
+ sizes.push(chunk.length);
115
+ }
116
+ t.same(sizes, [100, 1], 'should split into two batches: 100 and 1');
117
+ await wechaty.stop();
118
+ });
119
+ (0, tstest_1.test)('findAllIter() honors early break without throwing', async (t) => {
120
+ const TOTAL = 250;
121
+ const sandbox = tstest_1.sinon.createSandbox();
122
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
123
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
124
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
125
+ sandbox.stub(puppet, 'contactSearch').resolves(idList);
126
+ const batchSpy = sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
127
+ const ids = args[0];
128
+ return new Map(ids.map(id => [id, { id, name: id }]));
129
+ });
130
+ await wechaty.start();
131
+ const bot = puppet.mocker.createContact({ name: 'bot' });
132
+ await puppet.mocker.login(bot);
133
+ let received = 0;
134
+ await t.resolves((async () => {
135
+ for await (const chunk of wechaty.Contact.findAllIter()) {
136
+ received += chunk.length;
137
+ if (received >= 100) {
138
+ break;
139
+ }
140
+ }
141
+ })(), 'breaking the loop should not throw');
142
+ t.equal(received, 100, 'should stop after the first batch');
143
+ t.equal(batchSpy.callCount, 1, 'should not invoke batchContactPayload again after break');
144
+ await wechaty.stop();
145
+ });
146
+ (0, tstest_1.test)('findAllIter() invokes batchContactPayload ceil(N/batch) times, not N times', async (t) => {
147
+ const TOTAL = 100;
148
+ const BATCH = 25;
149
+ const sandbox = tstest_1.sinon.createSandbox();
150
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
151
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
152
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
153
+ sandbox.stub(puppet, 'contactSearch').resolves(idList);
154
+ const batchSpy = sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
155
+ const ids = args[0];
156
+ return new Map(ids.map(id => [id, { id, name: id }]));
157
+ });
158
+ const rawSpy = sandbox.spy(puppet, 'contactRawPayload');
159
+ await wechaty.start();
160
+ const bot = puppet.mocker.createContact({ name: 'bot' });
161
+ await puppet.mocker.login(bot);
162
+ const rawCountBefore = rawSpy.callCount;
163
+ let received = 0;
164
+ for await (const chunk of wechaty.Contact.findAllIter(undefined, { batch: BATCH })) {
165
+ received += chunk.length;
166
+ }
167
+ t.equal(received, TOTAL, 'should iterate all contacts');
168
+ t.equal(batchSpy.callCount, Math.ceil(TOTAL / BATCH), `should invoke batchContactPayload ${Math.ceil(TOTAL / BATCH)} times`);
169
+ t.equal(rawSpy.callCount, rawCountBefore, 'should never fall back to per-id contactRawPayload during iteration');
170
+ await wechaty.stop();
171
+ });
172
+ (0, tstest_1.test)('findAllIter() with empty contactSearch yields nothing and does not throw', async (t) => {
173
+ const sandbox = tstest_1.sinon.createSandbox();
174
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
175
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
176
+ sandbox.stub(puppet, 'contactSearch').resolves([]);
177
+ const batchSpy = sandbox.stub(puppet, 'batchContactPayload').resolves(new Map());
178
+ await wechaty.start();
179
+ const bot = puppet.mocker.createContact({ name: 'bot' });
180
+ await puppet.mocker.login(bot);
181
+ let chunkCount = 0;
182
+ await t.resolves((async () => {
183
+ for await (const _chunk of wechaty.Contact.findAllIter()) {
184
+ chunkCount++;
185
+ }
186
+ })(), 'empty iteration should not throw');
187
+ t.equal(chunkCount, 0, 'should yield zero chunks');
188
+ t.equal(batchSpy.callCount, 0, 'should not call batchContactPayload when no ids');
189
+ await wechaty.stop();
190
+ });
191
+ (0, tstest_1.test)('findAllIter() throws when batch <= 0', async (t) => {
192
+ const sandbox = tstest_1.sinon.createSandbox();
193
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
194
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
195
+ sandbox.stub(puppet, 'contactSearch').resolves([]);
196
+ sandbox.stub(puppet, 'batchContactPayload').resolves(new Map());
197
+ await wechaty.start();
198
+ const bot = puppet.mocker.createContact({ name: 'bot' });
199
+ await puppet.mocker.login(bot);
200
+ for (const badBatch of [0, -1]) {
201
+ await t.rejects((async () => {
202
+ for await (const _chunk of wechaty.Contact.findAllIter(undefined, { batch: badBatch })) {
203
+ // should never reach here
204
+ }
205
+ })(), /batch must be positive/, `should throw when batch=${badBatch}`);
206
+ }
207
+ await wechaty.stop();
208
+ });
209
+ (0, tstest_1.test)('findAllIter() skips ids missing from payloadMap', async (t) => {
210
+ const sandbox = tstest_1.sinon.createSandbox();
211
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
212
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
213
+ sandbox.stub(puppet, 'contactSearch').resolves(['c1', 'c2', 'c3']);
214
+ sandbox.stub(puppet, 'batchContactPayload').resolves(new Map([['c1', { id: 'c1', name: 'name-c1' }]]));
215
+ await wechaty.start();
216
+ const bot = puppet.mocker.createContact({ name: 'bot' });
217
+ await puppet.mocker.login(bot);
218
+ const seen = [];
219
+ await t.resolves((async () => {
220
+ for await (const chunk of wechaty.Contact.findAllIter()) {
221
+ for (const contact of chunk) {
222
+ seen.push(contact.id);
223
+ }
224
+ }
225
+ })(), 'missing ids should not throw or stall iteration');
226
+ t.same(seen, ['c1'], 'should yield only contacts whose payload was returned');
227
+ await wechaty.stop();
228
+ });
73
229
  (0, tstest_1.test)('ProtectedProperties', async (t) => {
74
230
  const noOneLeft = true;
75
231
  t.ok(noOneLeft, 'should match Wechaty properties for every protected property');
@@ -1 +1 @@
1
- {"version":3,"file":"contact.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contact.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.spec.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,29 @@ declare class RoomMixin extends MixinBase implements SayableSayer {
111
111
  * const roomList = await bot.Room.find({topic: 'wechaty'})
112
112
  */
113
113
  static find(query: string | PUPPET.filters.Room): Promise<undefined | RoomInterface>;
114
+ /**
115
+ * Async iterator variant of {@link findAll} that yields rooms in batches.
116
+ *
117
+ * Each batch is materialised with a single `puppet.batchRoomPayload` RPC,
118
+ * so iterating N rooms costs roughly `ceil(N / batch)` round trips instead
119
+ * of N. Uses `puppet.batchRoomPayload` directly (required on the puppet
120
+ * abstract), so callers do not need a per-id fallback path. Callers may
121
+ * `break` between batches to short-circuit.
122
+ *
123
+ * @static
124
+ * @param {PUPPET.filters.Room} [query]
125
+ * @param {{ batch?: number }} [opts] batch size, default 100
126
+ * @returns {AsyncIterable<RoomInterface[]>}
127
+ * @example
128
+ * for await (const chunk of bot.Room.findAllIter()) {
129
+ * for (const room of chunk) {
130
+ * console.log(await room.topic())
131
+ * }
132
+ * }
133
+ */
134
+ static findAllIter(query?: PUPPET.filters.Room, opts?: {
135
+ batch?: number;
136
+ }): AsyncIterable<RoomInterface[]>;
114
137
  static batchLoadRooms(roomIdList: string[]): Promise<RoomInterface[]>;
115
138
  /** const roomList: RoomInterface[] = []
116
139
 
@@ -1 +1 @@
1
- {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
@@ -232,6 +232,58 @@ class RoomMixin extends MixinBase {
232
232
  config_js_1.log.warn('Room', 'find() all %d rooms are invalid', roomList.length);
233
233
  return undefined;
234
234
  }
235
+ /**
236
+ * Async iterator variant of {@link findAll} that yields rooms in batches.
237
+ *
238
+ * Each batch is materialised with a single `puppet.batchRoomPayload` RPC,
239
+ * so iterating N rooms costs roughly `ceil(N / batch)` round trips instead
240
+ * of N. Uses `puppet.batchRoomPayload` directly (required on the puppet
241
+ * abstract), so callers do not need a per-id fallback path. Callers may
242
+ * `break` between batches to short-circuit.
243
+ *
244
+ * @static
245
+ * @param {PUPPET.filters.Room} [query]
246
+ * @param {{ batch?: number }} [opts] batch size, default 100
247
+ * @returns {AsyncIterable<RoomInterface[]>}
248
+ * @example
249
+ * for await (const chunk of bot.Room.findAllIter()) {
250
+ * for (const room of chunk) {
251
+ * console.log(await room.topic())
252
+ * }
253
+ * }
254
+ */
255
+ static async *findAllIter(query, opts) {
256
+ const batch = opts?.batch ?? 100;
257
+ config_js_1.log.verbose('Room', 'findAllIter(%s, batch=%d)', JSON.stringify(query, stringify_filter_js_1.stringifyFilter) || '', batch);
258
+ if (batch <= 0) {
259
+ throw new Error(`Room.findAllIter() batch must be positive, got ${batch}`);
260
+ }
261
+ const roomIdList = await this.wechaty.puppet.roomSearch(query);
262
+ if (!this.wechaty.isLoggedIn) {
263
+ throw new Error('Room.findAllIter() requires logged in');
264
+ }
265
+ for (let i = 0; i < roomIdList.length; i += batch) {
266
+ const idChunk = roomIdList.slice(i, i + batch);
267
+ const payloadMap = await this.wechaty.puppet.batchRoomPayload(idChunk);
268
+ const roomChunk = [];
269
+ for (const id of idChunk) {
270
+ const payload = payloadMap.get(id);
271
+ if (!payload) {
272
+ config_js_1.log.silly('Room', 'findAllIter() payload missing for id=%s, skip', id);
273
+ continue;
274
+ }
275
+ const room = this.wechaty.Room.load(id);
276
+ room.payload = payload;
277
+ roomChunk.push(room);
278
+ }
279
+ if (roomChunk.length > 0) {
280
+ yield roomChunk;
281
+ }
282
+ else {
283
+ config_js_1.log.warn('Room', 'findAllIter() batch all missing from payloadMap, idChunk=%j', idChunk);
284
+ }
285
+ }
286
+ }
235
287
  static async batchLoadRooms(roomIdList) {
236
288
  let continuousErrorCount = 0;
237
289
  let totalErrorCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
@@ -185,6 +185,162 @@ const wechaty_builder_js_1 = require("../wechaty-builder.js");
185
185
  });
186
186
  await wechaty.stop();
187
187
  });
188
+ (0, tstest_1.test)('Room.findAllIter() yields every room returned by roomSearch', async (t) => {
189
+ const TOTAL = 6;
190
+ const sandbox = tstest_1.sinon.createSandbox();
191
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
192
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
193
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
194
+ const buildPayload = (id) => ({ id, topic: `topic-${id}`, memberIdList: [], adminIdList: [] });
195
+ sandbox.stub(puppet, 'roomSearch').resolves(idList);
196
+ sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
197
+ const ids = args[0];
198
+ return new Map(ids.map(id => [id, buildPayload(id)]));
199
+ });
200
+ await wechaty.start();
201
+ const bot = puppet.mocker.createContact({ name: 'bot' });
202
+ await puppet.mocker.login(bot);
203
+ const seen = [];
204
+ for await (const chunk of wechaty.Room.findAllIter()) {
205
+ for (const room of chunk) {
206
+ seen.push(room.id);
207
+ }
208
+ }
209
+ t.equal(seen.length, TOTAL, `should yield ${TOTAL} rooms`);
210
+ t.same(seen, idList, 'should yield rooms in search order');
211
+ await wechaty.stop();
212
+ });
213
+ (0, tstest_1.test)('Room.findAllIter() chunks 101 rooms into [100, 1] at default batch=100', async (t) => {
214
+ const TOTAL = 101;
215
+ const sandbox = tstest_1.sinon.createSandbox();
216
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
217
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
218
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
219
+ sandbox.stub(puppet, 'roomSearch').resolves(idList);
220
+ sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
221
+ const ids = args[0];
222
+ return new Map(ids.map(id => [id, { id, topic: id, memberIdList: [], adminIdList: [] }]));
223
+ });
224
+ await wechaty.start();
225
+ const bot = puppet.mocker.createContact({ name: 'bot' });
226
+ await puppet.mocker.login(bot);
227
+ const sizes = [];
228
+ for await (const chunk of wechaty.Room.findAllIter()) {
229
+ sizes.push(chunk.length);
230
+ }
231
+ t.same(sizes, [100, 1], 'should split into two batches: 100 and 1');
232
+ await wechaty.stop();
233
+ });
234
+ (0, tstest_1.test)('Room.findAllIter() honors early break without throwing', async (t) => {
235
+ const TOTAL = 250;
236
+ const sandbox = tstest_1.sinon.createSandbox();
237
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
238
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
239
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
240
+ sandbox.stub(puppet, 'roomSearch').resolves(idList);
241
+ const batchSpy = sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
242
+ const ids = args[0];
243
+ return new Map(ids.map(id => [id, { id, topic: id, memberIdList: [], adminIdList: [] }]));
244
+ });
245
+ await wechaty.start();
246
+ const bot = puppet.mocker.createContact({ name: 'bot' });
247
+ await puppet.mocker.login(bot);
248
+ let received = 0;
249
+ await t.resolves((async () => {
250
+ for await (const chunk of wechaty.Room.findAllIter()) {
251
+ received += chunk.length;
252
+ if (received >= 100) {
253
+ break;
254
+ }
255
+ }
256
+ })(), 'breaking the loop should not throw');
257
+ t.equal(received, 100, 'should stop after the first batch');
258
+ t.equal(batchSpy.callCount, 1, 'should not invoke batchRoomPayload again after break');
259
+ await wechaty.stop();
260
+ });
261
+ (0, tstest_1.test)('Room.findAllIter() invokes batchRoomPayload ceil(N/batch) times, not N times', async (t) => {
262
+ const TOTAL = 100;
263
+ const BATCH = 25;
264
+ const sandbox = tstest_1.sinon.createSandbox();
265
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
266
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
267
+ const idList = Array.from({ length: TOTAL }, (_, idx) => `r-${idx}`);
268
+ sandbox.stub(puppet, 'roomSearch').resolves(idList);
269
+ const batchSpy = sandbox.stub(puppet, 'batchRoomPayload').callsFake(async (...args) => {
270
+ const ids = args[0];
271
+ return new Map(ids.map(id => [id, { id, topic: id, memberIdList: [], adminIdList: [] }]));
272
+ });
273
+ const rawSpy = sandbox.spy(puppet, 'roomRawPayload');
274
+ await wechaty.start();
275
+ const bot = puppet.mocker.createContact({ name: 'bot' });
276
+ await puppet.mocker.login(bot);
277
+ const rawCountBefore = rawSpy.callCount;
278
+ let received = 0;
279
+ for await (const chunk of wechaty.Room.findAllIter(undefined, { batch: BATCH })) {
280
+ received += chunk.length;
281
+ }
282
+ t.equal(received, TOTAL, 'should iterate all rooms');
283
+ t.equal(batchSpy.callCount, Math.ceil(TOTAL / BATCH), `should invoke batchRoomPayload ${Math.ceil(TOTAL / BATCH)} times`);
284
+ t.equal(rawSpy.callCount, rawCountBefore, 'should never fall back to per-id roomRawPayload during iteration');
285
+ await wechaty.stop();
286
+ });
287
+ (0, tstest_1.test)('Room.findAllIter() with empty roomSearch yields nothing and does not throw', async (t) => {
288
+ const sandbox = tstest_1.sinon.createSandbox();
289
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
290
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
291
+ sandbox.stub(puppet, 'roomSearch').resolves([]);
292
+ const batchSpy = sandbox.stub(puppet, 'batchRoomPayload').resolves(new Map());
293
+ await wechaty.start();
294
+ const bot = puppet.mocker.createContact({ name: 'bot' });
295
+ await puppet.mocker.login(bot);
296
+ let chunkCount = 0;
297
+ await t.resolves((async () => {
298
+ for await (const _chunk of wechaty.Room.findAllIter()) {
299
+ chunkCount++;
300
+ }
301
+ })(), 'empty iteration should not throw');
302
+ t.equal(chunkCount, 0, 'should yield zero chunks');
303
+ t.equal(batchSpy.callCount, 0, 'should not call batchRoomPayload when no ids');
304
+ await wechaty.stop();
305
+ });
306
+ (0, tstest_1.test)('Room.findAllIter() throws when batch <= 0', async (t) => {
307
+ const sandbox = tstest_1.sinon.createSandbox();
308
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
309
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
310
+ sandbox.stub(puppet, 'roomSearch').resolves([]);
311
+ sandbox.stub(puppet, 'batchRoomPayload').resolves(new Map());
312
+ await wechaty.start();
313
+ const bot = puppet.mocker.createContact({ name: 'bot' });
314
+ await puppet.mocker.login(bot);
315
+ for (const badBatch of [0, -1]) {
316
+ await t.rejects((async () => {
317
+ for await (const _chunk of wechaty.Room.findAllIter(undefined, { batch: badBatch })) {
318
+ // should never reach here
319
+ }
320
+ })(), /batch must be positive/, `should throw when batch=${badBatch}`);
321
+ }
322
+ await wechaty.stop();
323
+ });
324
+ (0, tstest_1.test)('Room.findAllIter() skips ids missing from payloadMap', async (t) => {
325
+ const sandbox = tstest_1.sinon.createSandbox();
326
+ const puppet = new wechaty_puppet_mock_1.PuppetMock();
327
+ const wechaty = wechaty_builder_js_1.WechatyBuilder.build({ puppet });
328
+ sandbox.stub(puppet, 'roomSearch').resolves(['r1', 'r2', 'r3']);
329
+ sandbox.stub(puppet, 'batchRoomPayload').resolves(new Map([['r1', { id: 'r1', topic: 'topic-r1', memberIdList: [], adminIdList: [] }]]));
330
+ await wechaty.start();
331
+ const bot = puppet.mocker.createContact({ name: 'bot' });
332
+ await puppet.mocker.login(bot);
333
+ const seen = [];
334
+ await t.resolves((async () => {
335
+ for await (const chunk of wechaty.Room.findAllIter()) {
336
+ for (const room of chunk) {
337
+ seen.push(room.id);
338
+ }
339
+ }
340
+ })(), 'missing ids should not throw or stall iteration');
341
+ t.same(seen, ['r1'], 'should yield only rooms whose payload was returned');
342
+ await wechaty.stop();
343
+ });
188
344
  (0, tstest_1.test)('ProtectedProperties', async (t) => {
189
345
  const noOneLeft = true;
190
346
  t.ok(noOneLeft, 'should match Wechaty properties for every protected property');