@storyous/test-utils 1.0.2 → 2.0.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.
@@ -28,9 +28,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const assert = __importStar(require("assert"));
30
30
  const koa_1 = __importDefault(require("koa"));
31
- const mocha_1 = require("mocha");
31
+ const mocha_1 = __importStar(require("mocha"));
32
32
  const testUtils_1 = __importDefault(require("../lib/testUtils"));
33
- testUtils_1.default.init(() => new koa_1.default(), 'mongodb://127.0.0.1/testing');
33
+ testUtils_1.default.init({ mocha: mocha_1.default, app: () => new koa_1.default(), cleanDatabaseUrl: 'mongodb://127.0.0.1/testing' });
34
34
  (0, mocha_1.describe)('packages/testUtils', async () => {
35
35
  (0, mocha_1.it)('should do some request', async () => {
36
36
  await testUtils_1.default.request().get('/').expect(404);
@@ -39,9 +39,9 @@ testUtils_1.default.init(() => new koa_1.default(), 'mongodb://127.0.0.1/testing
39
39
  assert.deepStrictEqual(testUtils_1.default.getSentMails(), []);
40
40
  });
41
41
  (0, mocha_1.it)('should generate uniqueDatabase', () => {
42
- testUtils_1.default.init(() => new koa_1.default());
42
+ testUtils_1.default.init({ mocha: mocha_1.default, app: () => new koa_1.default() });
43
43
  assert.deepStrictEqual(testUtils_1.default.uniqueDatabase(), null);
44
44
  assert.deepStrictEqual(testUtils_1.default.uniqueDatabase('mongodb://127.0.0.0:27017/test')?.startsWith('mongodb://127.0.0.0:27017/test___'), true);
45
45
  });
46
46
  });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdFV0aWxzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0VXRpbHMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBQ2pDLDhDQUFzQjtBQUN0QixpQ0FBcUM7QUFDckMsaUVBQXlDO0FBRXpDLG1CQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksYUFBRyxFQUFFLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztBQUUvRCxJQUFBLGdCQUFRLEVBQUMsb0JBQW9CLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFFdEMsSUFBQSxVQUFFLEVBQUMsd0JBQXdCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDcEMsTUFBTSxtQkFBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLFVBQUUsRUFBQyx1QkFBdUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNuQyxNQUFNLENBQUMsZUFBZSxDQUFDLG1CQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLFVBQUUsRUFBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUU7UUFDdEMsbUJBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxhQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxlQUFlLENBQUMsbUJBQVMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsZUFBZSxDQUNsQixtQkFBUyxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUMzRyxJQUFJLENBQ1AsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdFV0aWxzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0VXRpbHMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBQ2pDLDhDQUFzQjtBQUN0QiwrQ0FBNEM7QUFDNUMsaUVBQXlDO0FBRXpDLG1CQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFMLGVBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxhQUFHLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLENBQUM7QUFFakcsSUFBQSxnQkFBUSxFQUFDLG9CQUFvQixFQUFFLEtBQUssSUFBSSxFQUFFO0lBRXRDLElBQUEsVUFBRSxFQUFDLHdCQUF3QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3BDLE1BQU0sbUJBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxVQUFFLEVBQUMsdUJBQXVCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxtQkFBUyxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxVQUFFLEVBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLG1CQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFMLGVBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxhQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxtQkFBUyxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxlQUFlLENBQ2xCLG1CQUFTLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxDQUFDLEVBQUUsVUFBVSxDQUFDLG1DQUFtQyxDQUFDLEVBQzNHLElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,9 +1,9 @@
1
1
  import * as assert from 'assert';
2
2
  import Koa from 'koa';
3
- import { describe, it } from 'mocha';
3
+ import mocha, { describe, it } from 'mocha';
4
4
  import testUtils from '../lib/testUtils';
5
5
 
6
- testUtils.init(() => new Koa(), 'mongodb://127.0.0.1/testing');
6
+ testUtils.init({ mocha, app: () => new Koa(), cleanDatabaseUrl: 'mongodb://127.0.0.1/testing' });
7
7
 
8
8
  describe('packages/testUtils', async () => {
9
9
 
@@ -16,7 +16,7 @@ describe('packages/testUtils', async () => {
16
16
  });
17
17
 
18
18
  it('should generate uniqueDatabase', () => {
19
- testUtils.init(() => new Koa());
19
+ testUtils.init({ mocha, app: () => new Koa() });
20
20
  assert.deepStrictEqual(testUtils.uniqueDatabase(), null);
21
21
  assert.deepStrictEqual(
22
22
  testUtils.uniqueDatabase('mongodb://127.0.0.0:27017/test')?.startsWith('mongodb://127.0.0.0:27017/test___'),
package/lib/testUtils.js CHANGED
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const http_1 = __importDefault(require("http"));
7
- const mocha_1 = require("mocha");
8
7
  const mongodb_1 = require("mongodb");
9
8
  const nodemailer_1 = __importDefault(require("nodemailer"));
10
9
  const supertest_1 = __importDefault(require("supertest"));
@@ -13,8 +12,9 @@ const testUtils = {
13
12
  _app: null,
14
13
  _originalTransporter: undefined,
15
14
  _mockTransporter: undefined,
16
- init(app, cleanDatabaseUrl, mailer) {
17
- (0, mocha_1.before)(async () => {
15
+ init({ mocha, app, cleanDatabaseUrl, mailer, }) {
16
+ const { afterEach, before, beforeEach } = mocha;
17
+ before(async () => {
18
18
  if (cleanDatabaseUrl) {
19
19
  await this.cleanTestingDatabases(cleanDatabaseUrl);
20
20
  }
@@ -22,14 +22,14 @@ const testUtils = {
22
22
  this._app = http_1.default.createServer((await app()).callback());
23
23
  }
24
24
  });
25
- (0, mocha_1.beforeEach)(() => {
25
+ beforeEach(() => {
26
26
  if (mailer) {
27
27
  this._originalTransporter = mailer._transporter;
28
28
  this._mockTransporter = new mockTransport_1.default();
29
29
  mailer._transporter = nodemailer_1.default.createTransport(this._mockTransporter);
30
30
  }
31
31
  });
32
- (0, mocha_1.afterEach)(() => {
32
+ afterEach(() => {
33
33
  if (mailer) {
34
34
  mailer._transporter = this._originalTransporter;
35
35
  }
@@ -82,4 +82,4 @@ const testUtils = {
82
82
  },
83
83
  };
84
84
  exports.default = testUtils;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQW9DO0FBRXBDLGlDQUFzRDtBQUN0RCxxQ0FBc0M7QUFDdEMsNERBQXFEO0FBRXJELDBEQUFzRDtBQUN0RCxvRUFBNEM7QUFFNUMsTUFBTSxTQUFTLEdBQUc7SUFDZCxJQUFJLEVBQWdCLElBQUk7SUFDeEIsb0JBQW9CLEVBQTBCLFNBQVM7SUFDdkQsZ0JBQWdCLEVBQTRCLFNBQVM7SUFFckQsSUFBSSxDQUFFLEdBQWUsRUFBRSxnQkFBeUIsRUFBRSxNQUE0QjtRQUMxRSxJQUFBLGNBQU0sRUFBQyxLQUFLLElBQUksRUFBRTtZQUNkLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2xCLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdEQ7WUFFRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUMzRDtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSxrQkFBVSxFQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksTUFBTSxFQUFFO2dCQUNSLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx1QkFBYSxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsb0JBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDM0U7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsaUJBQVMsRUFBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLE1BQU0sRUFBRTtnQkFDUixNQUFNLENBQUMsWUFBWSxHQUFH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
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQW9DO0FBRXBDLHFDQUFzQztBQUN0Qyw0REFBcUQ7QUFFckQsMERBQXNEO0FBQ3RELG9FQUE0QztBQVM1QyxNQUFNLFNBQVMsR0FBRztJQUNkLElBQUksRUFBaUIsSUFBSTtJQUN6QixvQkFBb0IsRUFBMkIsU0FBUztJQUN4RCxnQkFBZ0IsRUFBNkIsU0FBUztJQUV0RCxJQUFJLENBQUUsRUFDRixLQUFLLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sR0FDM0I7UUFDVCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDaEQsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2QsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDbEIsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN0RDtZQUVELElBQUksR0FBRyxFQUFFO2dCQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQzNEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHVCQUFhLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxvQkFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUMzRTtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLEdBQUcs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
package/lib/testUtils.ts CHANGED
@@ -1,18 +1,27 @@
1
1
  import http, { Server } from 'http';
2
2
  import Koa from 'koa';
3
- import { afterEach, before, beforeEach } from 'mocha';
4
3
  import { MongoClient } from 'mongodb';
5
4
  import nodemailer, { Transporter } from 'nodemailer';
6
5
  import MailMessage from 'nodemailer/lib/mailer/mail-message';
7
6
  import supertest, { SuperAgentTest } from 'supertest';
8
7
  import MockTransport from './mockTransport';
9
8
 
10
- const testUtils = {
11
- _app: <Server|null> null,
12
- _originalTransporter: <Transporter|undefined> undefined,
13
- _mockTransporter: <MockTransport|undefined> undefined,
9
+ interface TypeParams {
10
+ mocha: any,
11
+ app?: () => Koa,
12
+ cleanDatabaseUrl?: string,
13
+ mailer?: { _transporter: any }
14
+ }
14
15
 
15
- init (app?: () => Koa, cleanDatabaseUrl?: string, mailer?: {_transporter: any}) {
16
+ const testUtils = {
17
+ _app: <Server | null>null,
18
+ _originalTransporter: <Transporter | undefined>undefined,
19
+ _mockTransporter: <MockTransport | undefined>undefined,
20
+
21
+ init ({
22
+ mocha, app, cleanDatabaseUrl, mailer,
23
+ }: TypeParams) {
24
+ const { afterEach, before, beforeEach } = mocha;
16
25
  before(async () => {
17
26
  if (cleanDatabaseUrl) {
18
27
  await this.cleanTestingDatabases(cleanDatabaseUrl);
@@ -53,7 +62,7 @@ const testUtils = {
53
62
  return supertest.agent(this._app);
54
63
  },
55
64
 
56
- uniqueDatabase (mongodbUrl?: string): string|null {
65
+ uniqueDatabase (mongodbUrl?: string): string | null {
57
66
 
58
67
  if (!mongodbUrl) {
59
68
  return null;
@@ -85,7 +94,7 @@ const testUtils = {
85
94
  maxAgeDate.setMinutes(maxAgeDate.getMinutes() - 15);
86
95
 
87
96
  await Promise.all(databases.map(async ({ name }) => {
88
- const [match,, timestamp] = name.match(matcher) || [];
97
+ const [match, , timestamp] = name.match(matcher) || [];
89
98
  if (match && (!timestamp || new Date(parseInt(timestamp, 10)) < maxAgeDate)) {
90
99
  // eslint-disable-next-line no-console
91
100
  console.log(`DROPPING OLD TESTING database ${name}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storyous/test-utils",
3
- "version": "1.0.2",
3
+ "version": "2.0.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/Storyous/mono-utils#readme",
6
6
  "license": "ISC",
@@ -35,10 +35,9 @@
35
35
  "@types/nodemailer": "^6.4.4",
36
36
  "@types/supertest": "^2.0.12",
37
37
  "koa": "^2.13.4",
38
- "mocha": "^9.2.2",
39
38
  "mongodb": "^4.5.0",
40
39
  "nodemailer": "^6.7.3",
41
40
  "supertest": "^6.2.2"
42
41
  },
43
- "gitHead": "44b7831451c363d33b88c94e0dd72ddeb2c4f3e9"
42
+ "gitHead": "4ea95d722ba6e85e9b6939128a2d37860fbb00f1"
44
43
  }