Skip to content

Commit 0b1d6d1

Browse files
committed
test(MongoInstance): refactor testing for events to handle multiple arguments
also remove debug log
1 parent 704bc64 commit 0b1d6d1

File tree

1 file changed

+31
-32
lines changed

1 file changed

+31
-32
lines changed

packages/mongodb-memory-server-core/src/util/__tests__/MongoInstance.test.ts

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -284,12 +284,12 @@ describe('MongodbInstance', () => {
284284

285285
describe('test events', () => {
286286
let mongod: MongodbInstance;
287-
let events: Map<MongoInstanceEvents | string, unknown>;
287+
let events: Map<MongoInstanceEvents | string, unknown[]>;
288288
beforeEach(() => {
289289
mongod = new MongodbInstance({ instance: { port: 1001, dbPath: 'hello' } });
290290
events = new Map();
291-
jest.spyOn(mongod, 'emit').mockImplementation((event: string, arg1: string) => {
292-
events.set(event, arg1);
291+
jest.spyOn(mongod, 'emit').mockImplementation((event: string, ...args) => {
292+
events.set(event, args);
293293

294294
return true;
295295
});
@@ -298,15 +298,15 @@ describe('MongodbInstance', () => {
298298
mongod.errorHandler('hello');
299299

300300
expect(events.size).toEqual(2);
301-
expect(events.get(MongoInstanceEvents.instanceRawError)).toEqual('hello');
302-
expect(events.get(MongoInstanceEvents.instanceError)).toEqual('hello');
301+
expect(events.get(MongoInstanceEvents.instanceRawError)).toEqual(['hello']);
302+
expect(events.get(MongoInstanceEvents.instanceError)).toEqual(['hello']);
303303
});
304304

305305
it('"stderrHandler" should emit "instanceSTDERR"', () => {
306306
mongod.stderrHandler('hello');
307307

308308
expect(events.size).toEqual(1);
309-
expect(events.get(MongoInstanceEvents.instanceSTDERR)).toEqual('hello');
309+
expect(events.get(MongoInstanceEvents.instanceSTDERR)).toEqual(['hello']);
310310
});
311311

312312
describe('stdoutHandler()', () => {
@@ -322,8 +322,8 @@ describe('MongodbInstance', () => {
322322
mongod.stdoutHandler(line);
323323

324324
expect(events.size).toEqual(2);
325-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
326-
expect(events.get(MongoInstanceEvents.instanceReady)).toEqual(undefined);
325+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
326+
expect(events.get(MongoInstanceEvents.instanceReady)).toEqual([undefined]);
327327
});
328328

329329
it('should emit "instanceError" when port is already in use', () => {
@@ -334,9 +334,9 @@ describe('MongodbInstance', () => {
334334
mongod.stdoutHandler(line);
335335

336336
expect(events.size).toEqual(2);
337-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
337+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
338338

339-
const event = events.get(MongoInstanceEvents.instanceError);
339+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
340340
expect(event).toBeInstanceOf(StdoutInstanceError);
341341
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
342342
expect(event.message).toMatchSnapshot();
@@ -350,9 +350,9 @@ describe('MongodbInstance', () => {
350350
mongod.stdoutHandler(line);
351351

352352
expect(events.size).toEqual(2);
353-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
353+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
354354

355-
const event = events.get(MongoInstanceEvents.instanceError);
355+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
356356
expect(event).toBeInstanceOf(StdoutInstanceError);
357357
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
358358
expect(event.message).toMatchSnapshot();
@@ -366,9 +366,9 @@ describe('MongodbInstance', () => {
366366
mongod.stdoutHandler(line);
367367

368368
expect(events.size).toEqual(2);
369-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
369+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
370370

371-
const event = events.get(MongoInstanceEvents.instanceError);
371+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
372372
expect(event).toBeInstanceOf(StdoutInstanceError);
373373
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
374374
expect(event.message).toMatchSnapshot();
@@ -382,8 +382,8 @@ describe('MongodbInstance', () => {
382382
mongod.stdoutHandler(line);
383383

384384
expect(events.size).toEqual(2);
385-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
386-
expect(events.get(MongoInstanceEvents.instancePrimary)).toEqual(undefined);
385+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
386+
expect(events.get(MongoInstanceEvents.instancePrimary)).toEqual([undefined]);
387387
expect(mongod.isInstancePrimary).toEqual(true);
388388
});
389389

@@ -396,8 +396,8 @@ describe('MongodbInstance', () => {
396396
mongod.stdoutHandler(line);
397397

398398
expect(events.size).toEqual(2);
399-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
400-
expect(events.get(MongoInstanceEvents.instanceReplState)).toEqual('RECOVERING');
399+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
400+
expect(events.get(MongoInstanceEvents.instanceReplState)).toEqual(['RECOVERING']);
401401
expect(mongod.isInstancePrimary).toEqual(false);
402402
});
403403

@@ -409,9 +409,9 @@ describe('MongodbInstance', () => {
409409
mongod.stdoutHandler(line);
410410

411411
expect(events.size).toEqual(2);
412-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
412+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
413413

414-
const event = events.get(MongoInstanceEvents.instanceError);
414+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
415415
expect(event).toBeInstanceOf(StdoutInstanceError);
416416
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
417417
expect(event.message).toMatchSnapshot();
@@ -427,9 +427,9 @@ describe('MongodbInstance', () => {
427427
mongod.stdoutHandler(line);
428428

429429
expect(events.size).toEqual(2);
430-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
430+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
431431

432-
const event = events.get(MongoInstanceEvents.instanceError);
432+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
433433
expect(event).toBeInstanceOf(StdoutInstanceError);
434434
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
435435
expect(event.message).toMatchSnapshot();
@@ -444,9 +444,9 @@ describe('MongodbInstance', () => {
444444
mongod.stdoutHandler(line);
445445

446446
expect(events.size).toEqual(2);
447-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
447+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
448448

449-
const event = events.get(MongoInstanceEvents.instanceError);
449+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
450450
expect(event).toBeInstanceOf(StdoutInstanceError);
451451
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
452452
expect(event.message).toMatchSnapshot();
@@ -461,9 +461,9 @@ describe('MongodbInstance', () => {
461461
mongod.stdoutHandler(line);
462462

463463
expect(events.size).toEqual(2);
464-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
464+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
465465

466-
const event = events.get(MongoInstanceEvents.instanceError);
466+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
467467
expect(event).toBeInstanceOf(StdoutInstanceError);
468468
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
469469
expect(event.message).toMatchSnapshot();
@@ -478,9 +478,9 @@ describe('MongodbInstance', () => {
478478
mongod.stdoutHandler(line);
479479

480480
expect(events.size).toEqual(2);
481-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
481+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
482482

483-
const event = events.get(MongoInstanceEvents.instanceError);
483+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
484484
expect(event).toBeInstanceOf(StdoutInstanceError);
485485
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
486486
expect(event.message).toMatchSnapshot();
@@ -494,11 +494,10 @@ describe('MongodbInstance', () => {
494494

495495
mongod.stdoutHandler(line);
496496

497-
console.log(events);
498497
expect(events.size).toEqual(2);
499-
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual(line);
498+
expect(events.get(MongoInstanceEvents.instanceSTDOUT)).toEqual([line]);
500499

501-
const event = events.get(MongoInstanceEvents.instanceError);
500+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
502501
expect(event).toBeInstanceOf(StdoutInstanceError);
503502
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
504503
expect(event.message).toMatchSnapshot();
@@ -517,7 +516,7 @@ describe('MongodbInstance', () => {
517516

518517
expect(events.size).toEqual(1);
519518

520-
const event = events.get(MongoInstanceEvents.instanceError);
519+
const event = events.get(MongoInstanceEvents.instanceError)?.[0];
521520
expect(event).toBeInstanceOf(StdoutInstanceError);
522521
assertIsError(event); // has to be used, because there is not typeguard from "expect(variable).toBeInstanceOf"
523522
expect(event.message).toMatchSnapshot();

0 commit comments

Comments
 (0)