@digitaldefiance/node-express-suite 2.1.22 → 2.1.23

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 (51) hide show
  1. package/README.md +7 -0
  2. package/package.json +1 -1
  3. package/src/__tests__/fixtures/index.d.ts +3 -0
  4. package/src/__tests__/fixtures/index.d.ts.map +1 -0
  5. package/src/__tests__/fixtures/index.js +6 -0
  6. package/src/__tests__/fixtures/index.js.map +1 -0
  7. package/src/__tests__/fixtures/mock-backend-member.d.ts +69 -0
  8. package/src/__tests__/fixtures/mock-backend-member.d.ts.map +1 -0
  9. package/src/__tests__/fixtures/mock-backend-member.js +127 -0
  10. package/src/__tests__/fixtures/mock-backend-member.js.map +1 -0
  11. package/src/__tests__/fixtures/model-mocks.mock.d.ts +6 -0
  12. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
  13. package/src/__tests__/fixtures/model-mocks.mock.js +94 -0
  14. package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
  15. package/src/__tests__/helpers/application.mock.d.ts +8 -0
  16. package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
  17. package/src/__tests__/helpers/application.mock.js +77 -0
  18. package/src/__tests__/helpers/application.mock.js.map +1 -0
  19. package/src/__tests__/helpers/index.d.ts +4 -0
  20. package/src/__tests__/helpers/index.d.ts.map +1 -0
  21. package/src/__tests__/helpers/index.js +7 -0
  22. package/src/__tests__/helpers/index.js.map +1 -0
  23. package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
  24. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
  25. package/src/__tests__/helpers/setup-test-env.js +119 -0
  26. package/src/__tests__/helpers/setup-test-env.js.map +1 -0
  27. package/src/__tests__/index.d.ts +3 -0
  28. package/src/__tests__/index.d.ts.map +1 -0
  29. package/src/__tests__/index.js +6 -0
  30. package/src/__tests__/index.js.map +1 -0
  31. package/src/application-concrete.d.ts +12 -0
  32. package/src/application-concrete.d.ts.map +1 -0
  33. package/src/application-concrete.js +21 -0
  34. package/src/application-concrete.js.map +1 -0
  35. package/src/application.d.ts +2 -2
  36. package/src/application.d.ts.map +1 -1
  37. package/src/application.js.map +1 -1
  38. package/src/builders/application-builder.d.ts +2 -2
  39. package/src/builders/application-builder.d.ts.map +1 -1
  40. package/src/index.d.ts +3 -0
  41. package/src/index.d.ts.map +1 -1
  42. package/src/index.js +3 -0
  43. package/src/index.js.map +1 -1
  44. package/src/interfaces/test-environment.d.ts +11 -0
  45. package/src/interfaces/test-environment.d.ts.map +1 -0
  46. package/src/interfaces/test-environment.js +3 -0
  47. package/src/interfaces/test-environment.js.map +1 -0
  48. package/src/services/dummy-email-service.d.ts +10 -0
  49. package/src/services/dummy-email-service.d.ts.map +1 -0
  50. package/src/services/dummy-email-service.js +16 -0
  51. package/src/services/dummy-email-service.js.map +1 -0
package/README.md CHANGED
@@ -1083,6 +1083,13 @@ The following v1.x patterns still work in v2.0:
1083
1083
 
1084
1084
  ## ChangeLog
1085
1085
 
1086
+ ### Version 2.1.23
1087
+
1088
+ - Provide mocks/fixtures for use in testing
1089
+ - Provide concrete/runnable ApplicationConcrete class
1090
+ - Export DummyEmailService for testing
1091
+ - Further streamline Application generics
1092
+
1086
1093
  ### Version 2.1.22
1087
1094
 
1088
1095
  - Updates from suite-core
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/node-express-suite",
3
- "version": "2.1.22",
3
+ "version": "2.1.23",
4
4
  "description": "Generic express application and routing library with decorator support",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -0,0 +1,3 @@
1
+ export * from './mock-backend-member';
2
+ export * from './model-mocks.mock';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./mock-backend-member"), exports);
5
+ tslib_1.__exportStar(require("./model-mocks.mock"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/fixtures/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,6DAAmC"}
@@ -0,0 +1,69 @@
1
+ import { EmailString, MemberType, SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
2
+ import { Wallet } from '@ethereumjs/wallet';
3
+ import { IMemberOperational, SignatureBuffer } from '@digitaldefiance/node-ecies-lib';
4
+ import { Types } from 'mongoose';
5
+ export declare class MockBackendMember implements IMemberOperational<Types.ObjectId> {
6
+ private _id;
7
+ private _type;
8
+ private _name;
9
+ private _email;
10
+ private _publicKey;
11
+ private _creatorId;
12
+ private _dateCreated;
13
+ private _dateUpdated;
14
+ private _privateKey?;
15
+ private _wallet?;
16
+ private _hasPrivateKey;
17
+ constructor(data?: Partial<{
18
+ id: Types.ObjectId;
19
+ type: MemberType;
20
+ name: string;
21
+ email: EmailString;
22
+ publicKey: Buffer;
23
+ privateKey: SecureBuffer;
24
+ wallet: Wallet;
25
+ creatorId: Types.ObjectId;
26
+ dateCreated: Date;
27
+ dateUpdated: Date;
28
+ hasPrivateKey: boolean;
29
+ }>);
30
+ get id(): Types.ObjectId;
31
+ get type(): MemberType;
32
+ get name(): string;
33
+ get email(): EmailString;
34
+ get publicKey(): Uint8Array;
35
+ get creatorId(): Types.ObjectId;
36
+ get dateCreated(): Date;
37
+ get dateUpdated(): Date;
38
+ get privateKey(): SecureBuffer | undefined;
39
+ get wallet(): Wallet | undefined;
40
+ get hasPrivateKey(): boolean;
41
+ unloadPrivateKey(): void;
42
+ unloadWallet(): void;
43
+ unloadWalletAndPrivateKey(): void;
44
+ loadWallet(mnemonic: SecureString): void;
45
+ loadPrivateKey(privateKey: SecureBuffer): void;
46
+ sign(data: Buffer): SignatureBuffer;
47
+ verify(signature: SignatureBuffer, data: Buffer): boolean;
48
+ encryptData(data: string | Buffer): Uint8Array;
49
+ decryptData(encryptedData: Buffer): Uint8Array;
50
+ toJson(): string;
51
+ dispose(): void;
52
+ static create(overrides?: Partial<{
53
+ id: Types.ObjectId;
54
+ type: MemberType;
55
+ name: string;
56
+ email: EmailString;
57
+ publicKey: Buffer;
58
+ privateKey: SecureBuffer;
59
+ wallet: Wallet;
60
+ creatorId: Types.ObjectId;
61
+ dateCreated: Date;
62
+ dateUpdated: Date;
63
+ hasPrivateKey: boolean;
64
+ }>): MockBackendMember;
65
+ static createMultiple(count: number): MockBackendMember[];
66
+ static createWithPrivateKey(): MockBackendMember;
67
+ static createWithoutPrivateKey(): MockBackendMember;
68
+ }
69
+ //# sourceMappingURL=mock-backend-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-backend-member.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/fixtures/mock-backend-member.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockBackendMember = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ const faker_1 = require("@faker-js/faker");
6
+ const mongodb_1 = require("mongodb");
7
+ const createMockWallet = () => ({
8
+ getPrivateKey: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 64 }), 'hex'),
9
+ getPublicKey: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex'),
10
+ getAddress: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 40 }), 'hex'),
11
+ sign: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex'),
12
+ });
13
+ class MockBackendMember {
14
+ _id;
15
+ _type;
16
+ _name;
17
+ _email;
18
+ _publicKey;
19
+ _creatorId;
20
+ _dateCreated;
21
+ _dateUpdated;
22
+ _privateKey;
23
+ _wallet;
24
+ _hasPrivateKey;
25
+ constructor(data = {}) {
26
+ this._id = data.id || new mongodb_1.ObjectId();
27
+ this._type = data.type || faker_1.faker.helpers.enumValue(ecies_lib_1.MemberType);
28
+ this._name = data.name || faker_1.faker.person.fullName();
29
+ this._email = data.email || new ecies_lib_1.EmailString(faker_1.faker.internet.email());
30
+ this._publicKey =
31
+ data.publicKey ||
32
+ Buffer.from(faker_1.faker.string.hexadecimal({ length: 130 }), 'hex');
33
+ this._creatorId = data.creatorId || this._id;
34
+ this._dateCreated = data.dateCreated || faker_1.faker.date.past();
35
+ this._dateUpdated =
36
+ data.dateUpdated ||
37
+ faker_1.faker.date.between({ from: this._dateCreated, to: new Date() });
38
+ this._privateKey = data.privateKey;
39
+ this._wallet =
40
+ data.wallet ||
41
+ (data.hasPrivateKey !== false ? createMockWallet() : undefined);
42
+ this._hasPrivateKey = data.hasPrivateKey ?? !!this._privateKey;
43
+ }
44
+ get id() {
45
+ return this._id;
46
+ }
47
+ get type() {
48
+ return this._type;
49
+ }
50
+ get name() {
51
+ return this._name;
52
+ }
53
+ get email() {
54
+ return this._email;
55
+ }
56
+ get publicKey() {
57
+ return this._publicKey;
58
+ }
59
+ get creatorId() {
60
+ return this._creatorId;
61
+ }
62
+ get dateCreated() {
63
+ return this._dateCreated;
64
+ }
65
+ get dateUpdated() {
66
+ return this._dateUpdated;
67
+ }
68
+ get privateKey() {
69
+ return this._privateKey;
70
+ }
71
+ get wallet() {
72
+ return this._wallet;
73
+ }
74
+ get hasPrivateKey() {
75
+ return this._hasPrivateKey;
76
+ }
77
+ unloadPrivateKey() { }
78
+ unloadWallet() { }
79
+ unloadWalletAndPrivateKey() { }
80
+ loadWallet(mnemonic) { }
81
+ loadPrivateKey(privateKey) { }
82
+ sign(data) {
83
+ return Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex');
84
+ }
85
+ verify(signature, data) {
86
+ return true;
87
+ }
88
+ encryptData(data) {
89
+ return Buffer.from(faker_1.faker.string.hexadecimal({ length: 256 }), 'hex');
90
+ }
91
+ decryptData(encryptedData) {
92
+ return Buffer.from(faker_1.faker.lorem.paragraph());
93
+ }
94
+ toJson() {
95
+ return JSON.stringify({
96
+ id: this._id.toString(),
97
+ type: this._type,
98
+ name: this._name,
99
+ email: this._email.toString(),
100
+ publicKey: this._publicKey.toString('base64'),
101
+ creatorId: this._creatorId.toString(),
102
+ dateCreated: this._dateCreated.toISOString(),
103
+ dateUpdated: this._dateUpdated.toISOString(),
104
+ });
105
+ }
106
+ dispose() { }
107
+ static create(overrides = {}) {
108
+ return new MockBackendMember(overrides);
109
+ }
110
+ static createMultiple(count) {
111
+ return Array.from({ length: count }, () => this.create());
112
+ }
113
+ static createWithPrivateKey() {
114
+ return new MockBackendMember({
115
+ privateKey: new ecies_lib_1.SecureBuffer(Buffer.from(faker_1.faker.string.hexadecimal({ length: 64 }), 'hex')),
116
+ hasPrivateKey: true,
117
+ });
118
+ }
119
+ static createWithoutPrivateKey() {
120
+ return new MockBackendMember({
121
+ privateKey: undefined,
122
+ hasPrivateKey: false,
123
+ });
124
+ }
125
+ }
126
+ exports.MockBackendMember = MockBackendMember;
127
+ //# sourceMappingURL=mock-backend-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-backend-member.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/fixtures/mock-backend-member.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const mockFunctions: (jest: any) => {
2
+ makeRoleModel: (doc?: unknown) => any;
3
+ makeUserModel: (doc?: unknown) => any;
4
+ makeUserRoleModel: (docs?: unknown[] | null) => any;
5
+ };
6
+ //# sourceMappingURL=model-mocks.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-mocks.mock.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/fixtures/model-mocks.mock.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK;IACzC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;IACtC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;IACtC,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC;CAsHrD,CAAA"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockFunctions = void 0;
4
+ const mockFunctions = (jest) => {
5
+ return {
6
+ makeRoleModel: (doc) => {
7
+ const chainable = {
8
+ session: jest.fn().mockReturnThis(),
9
+ lean: jest.fn().mockReturnThis(),
10
+ exec: jest.fn().mockResolvedValue(doc ?? null),
11
+ };
12
+ chainable.then = jest
13
+ .fn()
14
+ .mockImplementation((onFulfilled, onRejected) => Promise.resolve(doc ?? null).then(onFulfilled, onRejected));
15
+ chainable.catch = jest
16
+ .fn()
17
+ .mockImplementation((onRejected) => Promise.resolve(doc ?? null).catch(onRejected));
18
+ chainable.finally = jest
19
+ .fn()
20
+ .mockImplementation((onFinally) => Promise.resolve(doc ?? null).finally(onFinally));
21
+ // For getUserRoles which uses find().session() and expects array
22
+ const findChainable = {
23
+ session: jest.fn().mockResolvedValue(doc ? [doc] : []),
24
+ };
25
+ return {
26
+ find: jest.fn().mockReturnValue(findChainable),
27
+ findOne: jest.fn().mockReturnValue(chainable),
28
+ create: jest.fn(),
29
+ };
30
+ },
31
+ makeUserModel: (doc) => {
32
+ const chainable = {
33
+ session: jest.fn().mockReturnThis(),
34
+ collation: jest.fn().mockReturnThis(),
35
+ select: jest.fn().mockReturnThis(),
36
+ lean: jest.fn().mockReturnThis(),
37
+ exec: jest.fn().mockResolvedValue(doc ?? null),
38
+ };
39
+ chainable.then = jest
40
+ .fn()
41
+ .mockImplementation((onFulfilled, onRejected) => Promise.resolve(doc ?? null).then(onFulfilled, onRejected));
42
+ chainable.catch = jest
43
+ .fn()
44
+ .mockImplementation((onRejected) => Promise.resolve(doc ?? null).catch(onRejected));
45
+ chainable.finally = jest
46
+ .fn()
47
+ .mockImplementation((onFinally) => Promise.resolve(doc ?? null).finally(onFinally));
48
+ // For loginWithMnemonic which uses .lean().session() without .exec()
49
+ chainable.lean.mockReturnValue({
50
+ session: jest.fn().mockResolvedValue(doc ?? null),
51
+ });
52
+ return {
53
+ find: jest.fn().mockReturnValue(chainable),
54
+ findOne: jest.fn().mockReturnValue(chainable),
55
+ create: jest.fn(),
56
+ };
57
+ },
58
+ makeUserRoleModel: (docs) => {
59
+ const chainable = {
60
+ session: jest.fn().mockReturnThis(),
61
+ populate: jest.fn().mockReturnThis(),
62
+ lean: jest.fn().mockReturnThis(),
63
+ select: jest.fn().mockReturnThis(),
64
+ exec: jest.fn().mockResolvedValue(docs ?? []),
65
+ };
66
+ chainable.then = jest
67
+ .fn()
68
+ .mockImplementation((onFulfilled, onRejected) => Promise.resolve(docs ?? []).then(onFulfilled, onRejected));
69
+ chainable.catch = jest
70
+ .fn()
71
+ .mockImplementation((onRejected) => Promise.resolve(docs ?? []).catch(onRejected));
72
+ chainable.finally = jest
73
+ .fn()
74
+ .mockImplementation((onFinally) => Promise.resolve(docs ?? []).finally(onFinally));
75
+ // For getUserRoles which uses .select().session() - should return the docs array
76
+ chainable.select.mockImplementation(() => ({
77
+ session: jest.fn().mockResolvedValue(docs ?? []),
78
+ }));
79
+ // For getUserRoles which uses .populate().lean().exec()
80
+ chainable.populate.mockReturnValue({
81
+ lean: jest.fn().mockReturnValue({
82
+ exec: jest.fn().mockResolvedValue(docs ?? []),
83
+ }),
84
+ });
85
+ return {
86
+ find: jest.fn().mockReturnValue(chainable),
87
+ findOne: jest.fn().mockReturnValue(chainable),
88
+ create: jest.fn(),
89
+ };
90
+ },
91
+ };
92
+ };
93
+ exports.mockFunctions = mockFunctions;
94
+ //# sourceMappingURL=model-mocks.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-mocks.mock.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/fixtures/model-mocks.mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Environment } from '../../../src/environment';
2
+ import { IApplication } from '../../../src/interfaces/application';
3
+ export declare function createApplicationMock(overrides?: Partial<IApplication>, envOverrides?: Partial<Environment>): IApplication;
4
+ /**
5
+ * Create a minimal IApplication mock suitable for router/middleware tests.
6
+ */
7
+ export declare function createApplicationMock2(apiDistDir: string, reactDistDir: string, serverUrl?: string, overrides?: any, envOverrides?: any): any;
8
+ //# sourceMappingURL=application.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application.mock.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/helpers/application.mock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EACjC,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAClC,YAAY,CA6Bd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAgC,EAC3C,SAAS,CAAC,EAAE,GAAG,EACf,YAAY,CAAC,EAAE,GAAG,GACjB,GAAG,CAoCL"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createApplicationMock = createApplicationMock;
4
+ exports.createApplicationMock2 = createApplicationMock2;
5
+ const tslib_1 = require("tslib");
6
+ /* eslint-disable @typescript-eslint/no-explicit-any */
7
+ const mongoose_1 = tslib_1.__importDefault(require("mongoose"));
8
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
9
+ const constants_1 = require("../../../src/constants");
10
+ const container_1 = require("../../../src/container");
11
+ const plugins_1 = require("../../../src/plugins");
12
+ function createApplicationMock(overrides, envOverrides) {
13
+ const mockEnvironment = {
14
+ jwtSecret: new ecies_lib_1.SecureString('test-jwt-secret'),
15
+ mnemonicHmacSecret: new ecies_lib_1.SecureString('test-hmac-secret'),
16
+ mnemonicEncryptionKey: new ecies_lib_1.SecureString('test-encryption-key'),
17
+ timezone: { value: 'UTC' },
18
+ mongo: { useTransactions: false },
19
+ disableEmailSend: true,
20
+ devDatabase: true,
21
+ ...overrides?.environment,
22
+ ...envOverrides,
23
+ };
24
+ const defaultGetModel = (name) => ({});
25
+ return {
26
+ environment: mockEnvironment,
27
+ constants: constants_1.LocalhostConstants,
28
+ disableEmailSend: true,
29
+ db: overrides?.db || {},
30
+ ready: true,
31
+ async start() {
32
+ /* noop */
33
+ },
34
+ getModel: overrides?.getModel || defaultGetModel,
35
+ services: new container_1.ServiceContainer(),
36
+ plugins: new plugins_1.PluginManager(),
37
+ };
38
+ }
39
+ /**
40
+ * Create a minimal IApplication mock suitable for router/middleware tests.
41
+ */
42
+ function createApplicationMock2(apiDistDir, reactDistDir, serverUrl = 'http://localhost:3000', overrides, envOverrides) {
43
+ // minimal environment-like object with only fields used by constructors
44
+ const env = {
45
+ debug: false,
46
+ detailedDebug: false,
47
+ serverUrl: serverUrl,
48
+ disableEmailSend: true,
49
+ basePath: '/',
50
+ apiDistDir: apiDistDir,
51
+ reactDistDir: reactDistDir,
52
+ // mock nested aws config to satisfy email service ctor if used indirectly
53
+ transactionTimeout: 1000,
54
+ useTransactions: false,
55
+ ...envOverrides,
56
+ };
57
+ const application = {
58
+ get environment() {
59
+ return { ...env };
60
+ },
61
+ get db() {
62
+ return mongoose_1.default;
63
+ },
64
+ get ready() {
65
+ return true;
66
+ },
67
+ async start() {
68
+ /* noop */
69
+ },
70
+ getModel() {
71
+ throw new Error('getModel not implemented in test mock');
72
+ },
73
+ ...overrides,
74
+ };
75
+ return application;
76
+ }
77
+ //# sourceMappingURL=application.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application.mock.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/helpers/application.mock.ts"],"names":[],"mappings":";;AAUA,sDAgCC;AAKD,wDA0CC;;AAzFD,uDAAuD;AACvD,gEAAgC;AAChC,0DAA0D;AAE1D,sDAA4D;AAC5D,sDAA0D;AAG1D,kDAAqD;AAErD,SAAgB,qBAAqB,CACnC,SAAiC,EACjC,YAAmC;IAEnC,MAAM,eAAe,GAAG;QACtB,SAAS,EAAE,IAAI,wBAAY,CAAC,iBAAiB,CAAC;QAC9C,kBAAkB,EAAE,IAAI,wBAAY,CAAC,kBAAkB,CAAC;QACxD,qBAAqB,EAAE,IAAI,wBAAY,CAAC,qBAAqB,CAAC;QAC9D,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;QACjC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,IAAI;QACjB,GAAG,SAAS,EAAE,WAAW;QACzB,GAAG,YAAY;KACD,CAAC;IAEjB,MAAM,eAAe,GAAG,CAAqB,IAAY,EAAY,EAAE,CACrE,CAAC,EAAE,CAAa,CAAC;IAEnB,OAAO;QACL,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,8BAAkB;QAC7B,gBAAgB,EAAE,IAAI;QACtB,EAAE,EAAE,SAAS,EAAE,EAAE,IAAK,EAAU;QAChC,KAAK,EAAE,IAAI;QACX,KAAK,CAAC,KAAK;YACT,UAAU;QACZ,CAAC;QACD,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,eAAe;QAChD,QAAQ,EAAE,IAAI,4BAAgB,EAAE;QAChC,OAAO,EAAE,IAAI,uBAAa,EAAE;KACb,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,UAAkB,EAClB,YAAoB,EACpB,YAAoB,uBAAuB,EAC3C,SAAe,EACf,YAAkB;IAElB,wEAAwE;IACxE,MAAM,GAAG,GAAQ;QACf,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,SAAS;QACpB,gBAAgB,EAAE,IAAI;QACtB,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;QAC1B,0EAA0E;QAC1E,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,KAAK;QACtB,GAAG,YAAY;KAChB,CAAC;IAEF,MAAM,WAAW,GAAQ;QACvB,IAAI,WAAW;YACb,OAAO,EAAE,GAAG,GAAG,EAAS,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE;YACJ,OAAO,kBAAQ,CAAC;QAClB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,KAAK;YACT,UAAU;QACZ,CAAC;QACD,QAAQ;YACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,GAAI,SAAoB;KAClB,CAAC;IAET,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './application.mock';
2
+ export * from '../fixtures/model-mocks.mock';
3
+ export * from './setup-test-env';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./application.mock"), exports);
5
+ tslib_1.__exportStar(require("../fixtures/model-mocks.mock"), exports);
6
+ tslib_1.__exportStar(require("./setup-test-env"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/helpers/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,uEAA6C;AAC7C,2DAAiC"}
@@ -0,0 +1,12 @@
1
+ import { Connection } from 'mongoose';
2
+ import { IBaseDocument } from '../../documents';
3
+ import { IApplication, IConstants, ICSPConfig, IFlexibleCSP, IServerInitResult } from '../../interfaces';
4
+ import { ITestEnvironment } from '../../interfaces/test-environment';
5
+ import { SchemaMap } from '../../types';
6
+ import { BaseApplication } from '../../application-base';
7
+ import { AppRouter, BaseRouter } from '../../routers';
8
+ import { HelmetOptions } from 'helmet';
9
+ import { initMiddleware } from '../../middlewares';
10
+ import { IFailableResult } from '@digitaldefiance/suite-core-lib';
11
+ export declare function setupTestEnvironment<TModelDocs extends Record<string, IBaseDocument<any>>, TConstants extends IConstants = IConstants, TAppRouter extends AppRouter = AppRouter>(constants: TConstants, apiRouterFactory: (app: IApplication) => BaseRouter, schemaMapFactory: (connection: Connection) => SchemaMap<TModelDocs>, appRouterFactory?: (apiRouter: BaseRouter) => TAppRouter, customInitMiddleware?: typeof initMiddleware, envLocation?: string, databaseInitFunction?: (application: BaseApplication<TModelDocs, IServerInitResult>) => Promise<IFailableResult<IServerInitResult>>, initResultHashFunction?: (initResults: IServerInitResult) => string, cspConfig?: ICSPConfig | HelmetOptions | IFlexibleCSP): Promise<ITestEnvironment>;
12
+ //# sourceMappingURL=setup-test-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-test-env.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/helpers/setup-test-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,wBAAsB,oBAAoB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,SAAS,UAAU,GAAG,UAAU,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,EACpL,SAAS,EAAE,UAAU,EACrB,gBAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,UAAU,EACnD,gBAAgB,EAAE,CAChB,UAAU,EAAE,UAAU,KACnB,SAAS,CAAC,UAAU,CAAC,EAC1B,gBAAgB,GAAE,CAAC,SAAS,EAAE,UAAU,KAAK,UAAkE,EAC/G,oBAAoB,GAAE,OAAO,cAA+B,EAC5D,WAAW,CAAC,EAAE,MAAM,EACpB,oBAAoB,CAAC,EAAE,CACrB,WAAW,EAAE,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAChD,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,MAAM,EACnE,SAAS,GAAE,UAAU,GAAG,aAAa,GAAG,YAWvC,GACA,OAAO,CAAC,gBAAgB,CAAC,CA0H3B"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupTestEnvironment = setupTestEnvironment;
4
+ const application_1 = require("../../application");
5
+ const environment_1 = require("../../environment");
6
+ const routers_1 = require("../../routers");
7
+ const middlewares_1 = require("../../middlewares");
8
+ const services_1 = require("../../services");
9
+ const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
10
+ async function setupTestEnvironment(constants, apiRouterFactory, schemaMapFactory, appRouterFactory = (apiRouter) => new routers_1.AppRouter(apiRouter), customInitMiddleware = middlewares_1.initMiddleware, envLocation, databaseInitFunction, initResultHashFunction, cspConfig = {
11
+ corsWhitelist: [],
12
+ csp: {
13
+ defaultSrc: [],
14
+ imgSrc: [],
15
+ connectSrc: [],
16
+ scriptSrc: [],
17
+ styleSrc: [],
18
+ fontSrc: [],
19
+ frameSrc: [],
20
+ },
21
+ }) {
22
+ // Make runtime deterministic for tests
23
+ process.env.NODE_ENV = 'test';
24
+ process.env['DEV_DATABASE'] = 'test';
25
+ // Increase libuv threadpool for concurrent pbkdf2 work
26
+ if (!process.env['UV_THREADPOOL_SIZE']) {
27
+ process.env['UV_THREADPOOL_SIZE'] = '16';
28
+ }
29
+ // Optimize MongoDB settings for test performance while maintaining reliability
30
+ if (!process.env['MONGO_MAX_POOL_SIZE']) {
31
+ process.env['MONGO_MAX_POOL_SIZE'] = '5'; // Increased for better concurrency
32
+ }
33
+ if (!process.env['MONGO_MIN_POOL_SIZE']) {
34
+ process.env['MONGO_MIN_POOL_SIZE'] = '2'; // Increased for better performance
35
+ }
36
+ if (!process.env['MONGO_SERVER_SELECTION_TIMEOUT_MS']) {
37
+ process.env['MONGO_SERVER_SELECTION_TIMEOUT_MS'] = '5000'; // Increased for stability
38
+ }
39
+ if (!process.env['MONGO_SOCKET_TIMEOUT_MS']) {
40
+ process.env['MONGO_SOCKET_TIMEOUT_MS'] = '15000'; // Increased for stability
41
+ }
42
+ if (!process.env['MONGO_TRANSACTION_TIMEOUT']) {
43
+ process.env['MONGO_TRANSACTION_TIMEOUT'] = '15000'; // Increased for stability
44
+ }
45
+ if (!process.env['MONGO_TRANSACTION_LOCK_REQUEST_TIMEOUT']) {
46
+ process.env['MONGO_TRANSACTION_LOCK_REQUEST_TIMEOUT'] = '8000'; // Increased for stability
47
+ }
48
+ if (!process.env['MONGO_TRANSACTION_RETRY_BASE_DELAY']) {
49
+ process.env['MONGO_TRANSACTION_RETRY_BASE_DELAY'] = '100'; // Increased for stability
50
+ }
51
+ // Disable transactions in test environment for better reliability
52
+ if (!process.env['MONGO_USE_TRANSACTIONS']) {
53
+ process.env['MONGO_USE_TRANSACTIONS'] = 'false'; // Disable transactions for tests
54
+ }
55
+ // Ensure language is set to English for consistent test behavior
56
+ process.env.LANGUAGE = 'English (US)';
57
+ // Use a random high port to avoid conflicts
58
+ process.env['PORT'] = String(Math.floor(Math.random() * 10000) + 50000);
59
+ // Use unique database name for each test to avoid conflicts
60
+ const uniqueDbName = `test_${Date.now()}_${Math.floor(Math.random() * 10000)}`;
61
+ process.env['DEV_DATABASE'] = uniqueDbName;
62
+ // Reset global language context to English
63
+ const setAdminLanguage = (language) => {
64
+ const context = i18n_lib_1.GlobalActiveContext.getInstance();
65
+ context.setAdminLanguage(language);
66
+ };
67
+ setAdminLanguage('en-US');
68
+ const env = new environment_1.Environment(envLocation, true);
69
+ const application = new application_1.Application(env, apiRouterFactory, schemaMapFactory, databaseInitFunction ?? services_1.DatabaseInitializationService.initUserDb.bind(services_1.DatabaseInitializationService), initResultHashFunction ?? services_1.DatabaseInitializationService.serverInitResultHash.bind(services_1.DatabaseInitializationService), cspConfig, constants, appRouterFactory, customInitMiddleware);
70
+ const initResult = await services_1.DatabaseInitializationService.initUserDb(application);
71
+ if (!initResult.success || !initResult.data) {
72
+ throw new Error('Failed to initialize database for tests');
73
+ }
74
+ const accountData = initResult.data;
75
+ // Create and start your app
76
+ try {
77
+ await application.start();
78
+ const command = {
79
+ ...(application.environment.mongo.setParameterSupported
80
+ ? { setParameter: 1 }
81
+ : {}),
82
+ ...(application.environment.mongo.useTransactions &&
83
+ application.environment.mongo.transactionLifetimeLimitSecondsSupported
84
+ ? {
85
+ transactionLifetimeLimitSeconds: application.environment.mongo.transactionTimeout,
86
+ }
87
+ : {}),
88
+ ...(application.environment.mongo.useTransactions &&
89
+ application.environment.mongo
90
+ .maxTransactionLockRequestTimeoutMillisSupported
91
+ ? {
92
+ maxTransactionLockRequestTimeoutMillis: application.environment.mongo.transactionLockRequestTimeout,
93
+ }
94
+ : {}),
95
+ };
96
+ if (Object.keys(command).length > 0 && application.db.connection.db) {
97
+ // Configure MongoDB for better concurrency
98
+ await application.db.connection.db
99
+ .admin()
100
+ .command(command)
101
+ .catch(() => undefined);
102
+ }
103
+ }
104
+ catch (error) {
105
+ console.error('Failed to start application with MongoDB URI:', application.environment.mongo.uri);
106
+ console.error('Connection error:', error);
107
+ throw error;
108
+ }
109
+ // Ensure the test process uses the same JWT secret as the application
110
+ process.env.JWT_SECRET = application.environment.jwtSecret;
111
+ return {
112
+ application,
113
+ mongoServer: application.devDatabase,
114
+ mongoUri: application.environment.mongo.uri,
115
+ accountData,
116
+ dbName: application.environment.devDatabase,
117
+ };
118
+ }
119
+ //# sourceMappingURL=setup-test-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-test-env.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/helpers/setup-test-env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './fixtures';
2
+ export * from './helpers';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./fixtures"), exports);
5
+ tslib_1.__exportStar(require("./helpers"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/__tests__/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,oDAA0B"}
@@ -0,0 +1,12 @@
1
+ import { Application } from './application';
2
+ import { Environment } from './environment';
3
+ import { IConstants, IServerInitResult } from './interfaces';
4
+ import { AppRouter } from './routers';
5
+ import { BaseModelDocs } from './schemas';
6
+ /**
7
+ * Test application concrete class
8
+ */
9
+ export declare class ApplicationConcrete extends Application<IServerInitResult, BaseModelDocs, Environment, IConstants, AppRouter> {
10
+ constructor(environment: Environment, constants?: IConstants);
11
+ }
12
+ //# sourceMappingURL=application-concrete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-concrete.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application-concrete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAa,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAC;AAKxD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;gBAEtH,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,UAA+B;CAe7C"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationConcrete = void 0;
4
+ const application_1 = require("./application");
5
+ const constants_1 = require("./constants");
6
+ const routers_1 = require("./routers");
7
+ const schemas_1 = require("./schemas");
8
+ const services_1 = require("./services");
9
+ const dummy_email_service_1 = require("./services/dummy-email-service");
10
+ const registry_1 = require("./registry");
11
+ /**
12
+ * Test application concrete class
13
+ */
14
+ class ApplicationConcrete extends application_1.Application {
15
+ constructor(environment, constants = constants_1.LocalhostConstants) {
16
+ super(environment, () => new routers_1.ApiRouter(this), schemas_1.getSchemaMap, services_1.DatabaseInitializationService.initUserDb.bind(services_1.DatabaseInitializationService), services_1.DatabaseInitializationService.serverInitResultHash.bind(services_1.DatabaseInitializationService), undefined, constants, (apiRouter) => new routers_1.AppRouter(apiRouter), undefined);
17
+ registry_1.emailServiceRegistry.setService(new dummy_email_service_1.DummyEmailService(this));
18
+ }
19
+ }
20
+ exports.ApplicationConcrete = ApplicationConcrete;
21
+ //# sourceMappingURL=application-concrete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-concrete.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application-concrete.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAG5C,2CAAiD;AACjD,uCAAiD;AACjD,uCAAwD;AACxD,yCAA2D;AAC3D,wEAAmE;AACnE,yCAAkD;AAElD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,yBAAiF;IACxH,YACE,WAAwB,EACxB,YAAwB,8BAAkB;QAE1C,KAAK,CACH,WAAW,EACX,GAAG,EAAE,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,EACzB,sBAAY,EACZ,wCAA6B,CAAC,UAAU,CAAC,IAAI,CAAC,wCAA6B,CAAC,EAC5E,wCAA6B,CAAC,oBAAoB,CAAC,IAAI,CAAC,wCAA6B,CAAC,EACtF,SAAS,EACT,SAAS,EACT,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,SAAS,CAAC,EACvC,SAAS,CACV,CAAC;QACF,+BAAoB,CAAC,UAAU,CAAC,IAAI,uCAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAlBD,kDAkBC"}
@@ -1,5 +1,5 @@
1
1
  import { Application as ExpressApplication } from 'express';
2
- import mongoose, { Types } from 'mongoose';
2
+ import mongoose from 'mongoose';
3
3
  import { BaseApplication } from './application-base';
4
4
  import { IBaseDocument } from './documents/base';
5
5
  import { Environment } from './environment';
@@ -11,7 +11,7 @@ import { BaseRouter } from './routers/base';
11
11
  import { SchemaMap } from './types';
12
12
  import { HelmetOptions } from 'helmet';
13
13
  import { IFlexibleCSP } from './interfaces/flexible-csp';
14
- export declare class Application<T, I extends Types.ObjectId | string, TInitResults, TModelDocs extends Record<string, IBaseDocument<any>>, TBaseDocument extends IBaseDocument<T, I> = IBaseDocument<T, I>, TEnvironment extends Environment = Environment, TConstants extends IConstants = IConstants, TAppRouter extends AppRouter = AppRouter> extends BaseApplication<TModelDocs, TInitResults, TConstants> implements IApplication {
14
+ export declare class Application<TInitResults, TModelDocs extends Record<string, IBaseDocument<any>>, TEnvironment extends Environment = Environment, TConstants extends IConstants = IConstants, TAppRouter extends AppRouter = AppRouter> extends BaseApplication<TModelDocs, TInitResults, TConstants> implements IApplication {
15
15
  readonly expressApp: ExpressApplication;
16
16
  private server;
17
17
  private readonly _cspConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"AAQA,OAAgB,EACd,WAAW,IAAI,kBAAkB,EAIlC,MAAM,SAAS,CAAC;AAIjB,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AAQxE,qBAAa,WAAW,CACpB,CAAC,EACD,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,EACjC,YAAY,EACZ,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EACrD,aAAa,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/D,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,CAE1C,SAAQ,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAC5D,YAAW,YAAY;IAEvB,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IACtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,IAAoB,WAAW,IAAI,YAAY,CAE9C;IAED,SAAS,CAAC,gBAAgB,IAAI,IAAI;gBAMhC,WAAW,EAAE,YAAY,EACzB,gBAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,UAAU,EACnD,gBAAgB,EAAE,CAChB,UAAU,EAAE,QAAQ,CAAC,UAAU,KAC5B,SAAS,CAAC,UAAU,CAAC,EAC1B,oBAAoB,EAAE,CACpB,WAAW,EAAE,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,KACnD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAC3C,sBAAsB,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,MAAM,EAC7D,SAAS,GAAE,UAAU,GAAG,aAAa,GAAG,YAWvC,EACD,SAAS,GAAE,UAAoC,EAC/C,gBAAgB,GAAE,CAAC,SAAS,EAAE,UAAU,KAAK,UAAkE,EAC/G,oBAAoB,GAAE,OAAO,cAA+B;IAkBxC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4HvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAyC5C"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"AAQA,OAAgB,EACd,WAAW,IAAI,kBAAkB,EAIlC,MAAM,SAAS,CAAC;AAIjB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AAOxE,qBAAa,WAAW,CACpB,YAAY,EACZ,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EACrD,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,CAE1C,SAAQ,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAC5D,YAAW,YAAY;IAEvB,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IACtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,IAAoB,WAAW,IAAI,YAAY,CAE9C;IAED,SAAS,CAAC,gBAAgB,IAAI,IAAI;gBAMhC,WAAW,EAAE,YAAY,EACzB,gBAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,UAAU,EACnD,gBAAgB,EAAE,CAChB,UAAU,EAAE,QAAQ,CAAC,UAAU,KAC5B,SAAS,CAAC,UAAU,CAAC,EAC1B,oBAAoB,EAAE,CACpB,WAAW,EAAE,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,KACnD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAC3C,sBAAsB,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,MAAM,EAC7D,SAAS,GAAE,UAAU,GAAG,aAAa,GAAG,YAWvC,EACD,SAAS,GAAE,UAAoC,EAC/C,gBAAgB,GAAE,CAAC,SAAS,EAAE,UAAU,KAAK,UAAkE,EAC/G,oBAAoB,GAAE,OAAO,cAA+B;IAkBxC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4HvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAyC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import mongoose, { Types } from 'mongoose';
1
+ import mongoose from 'mongoose';
2
2
  import { Application } from '../application';
3
3
  import { BaseRouter } from '../routers/base';
4
4
  import { AppRouter } from '../routers/app';
@@ -29,6 +29,6 @@ export declare class ApplicationBuilder<TModelDocs extends Record<string, IBaseD
29
29
  withCSP(config: ICSPConfig | HelmetOptions | IFlexibleCSP): this;
30
30
  withConstants(constants: TConstants): this;
31
31
  withMiddleware(middleware: typeof initMiddleware): this;
32
- build(): Application<any, Types.ObjectId, TInitResults, TModelDocs, IBaseDocument<any, Types.ObjectId>, Environment, TConstants, AppRouter>;
32
+ build(): Application<TInitResults, TModelDocs, Environment, TConstants, AppRouter>;
33
33
  }
34
34
  //# sourceMappingURL=application-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/builders/application-builder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,qBAAa,kBAAkB,CAC7B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EACrD,YAAY,EACZ,UAAU,SAAS,UAAU,GAAG,UAAU;IAE1C,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAA2B;IACpD,OAAO,CAAC,gBAAgB,CAAC,CAAuC;IAChE,OAAO,CAAC,gBAAgB,CAAC,CAA6D;IACtF,OAAO,CAAC,oBAAoB,CAAC,CAA6F;IAC1H,OAAO,CAAC,sBAAsB,CAAC,CAAoC;IACnE,OAAO,CAAC,SAAS,CAAC,CAA4C;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAwB;IAErD,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKvC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,GAAG,IAAI;IAKtD,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,SAAS,GAAG,IAAI;IAKlE,aAAa,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI;IAKxF,gBAAgB,CACd,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAClG,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,GACxC,IAAI;IAMP,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI;IAKhE,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK1C,cAAc,CAAC,UAAU,EAAE,OAAO,cAAc,GAAG,IAAI;IAKvD,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;CAmB5I"}
1
+ {"version":3,"file":"application-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/builders/application-builder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAmB,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,qBAAa,kBAAkB,CAC7B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EACrD,YAAY,EACZ,UAAU,SAAS,UAAU,GAAG,UAAU;IAE1C,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAA2B;IACpD,OAAO,CAAC,gBAAgB,CAAC,CAAuC;IAChE,OAAO,CAAC,gBAAgB,CAAC,CAA6D;IACtF,OAAO,CAAC,oBAAoB,CAAC,CAA6F;IAC1H,OAAO,CAAC,sBAAsB,CAAC,CAAoC;IACnE,OAAO,CAAC,SAAS,CAAC,CAA4C;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAwB;IAErD,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKvC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,GAAG,IAAI;IAKtD,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,SAAS,GAAG,IAAI;IAKlE,aAAa,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI;IAKxF,gBAAgB,CACd,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAClG,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,GACxC,IAAI;IAMP,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI;IAKhE,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK1C,cAAc,CAAC,UAAU,EAAE,OAAO,cAAc,GAAG,IAAI;IAKvD,KAAK,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;CAmBnF"}
package/src/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import 'reflect-metadata';
2
+ export * from './__tests__';
2
3
  export * from './application';
3
4
  export * from './application-base';
5
+ export * from './application-concrete';
4
6
  export * from './backup-code';
5
7
  export * from './builders';
6
8
  export * from './constants';
@@ -34,4 +36,5 @@ export * from './types';
34
36
  export { withTransaction } from './utils';
35
37
  export type { TransactionOptions as UtilsTransactionOptions } from './utils';
36
38
  export * from './validation';
39
+ export * from './__tests__/helpers/setup-test-env';
37
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACnE,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC7E,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACnE,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC7E,cAAc,cAAc,CAAC;AAC7B,cAAc,oCAAoC,CAAC"}
package/src/index.js CHANGED
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withTransaction = exports.RouteBuilder = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  require("reflect-metadata");
6
+ tslib_1.__exportStar(require("./__tests__"), exports);
6
7
  tslib_1.__exportStar(require("./application"), exports);
7
8
  tslib_1.__exportStar(require("./application-base"), exports);
9
+ tslib_1.__exportStar(require("./application-concrete"), exports);
8
10
  tslib_1.__exportStar(require("./backup-code"), exports);
9
11
  tslib_1.__exportStar(require("./builders"), exports);
10
12
  tslib_1.__exportStar(require("./constants"), exports);
@@ -38,4 +40,5 @@ tslib_1.__exportStar(require("./types"), exports);
38
40
  var utils_1 = require("./utils");
39
41
  Object.defineProperty(exports, "withTransaction", { enumerable: true, get: function () { return utils_1.withTransaction; } });
40
42
  tslib_1.__exportStar(require("./validation"), exports);
43
+ tslib_1.__exportStar(require("./__tests__/helpers/setup-test-env"), exports);
41
44
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":";;;;AAAA,4BAA0B;AAE1B,wDAA8B;AAC9B,6DAAmC;AACnC,wDAA8B;AAC9B,qDAA2B;AAC3B,sDAA4B;AAC5B,sDAA4B;AAC5B,qDAA2B;AAC3B,wDAA8B;AAC9B,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B;AAC3B,sDAA4B;AAC5B,yDAA+B;AAC/B,wDAA8B;AAC9B,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,uDAA6B;AAC7B,wDAA8B;AAC9B,2DAAiC;AACjC,mDAAyB;AACzB,qDAA2B;AAC3B,oDAA0B;AAC1B,qDAA2B;AAC3B,sDAA4B;AAC5B,oDAA0B;AAC1B,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AAErB,oDAA0B;AAC1B,qDAA2B;AAC3B,yDAA+B;AAC/B,kDAAwB;AACxB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AAExB,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":";;;;AAAA,4BAA0B;AAE1B,sDAA4B;AAC5B,wDAA8B;AAC9B,6DAAmC;AACnC,iEAAuC;AACvC,wDAA8B;AAC9B,qDAA2B;AAC3B,sDAA4B;AAC5B,sDAA4B;AAC5B,qDAA2B;AAC3B,wDAA8B;AAC9B,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B;AAC3B,sDAA4B;AAC5B,yDAA+B;AAC/B,wDAA8B;AAC9B,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,uDAA6B;AAC7B,wDAA8B;AAC9B,2DAAiC;AACjC,mDAAyB;AACzB,qDAA2B;AAC3B,oDAA0B;AAC1B,qDAA2B;AAC3B,sDAA4B;AAC5B,oDAA0B;AAC1B,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AAErB,oDAA0B;AAC1B,qDAA2B;AAC3B,yDAA+B;AAC/B,kDAAwB;AACxB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AAExB,uDAA6B;AAC7B,6EAAmD"}
@@ -0,0 +1,11 @@
1
+ import { MongoMemoryReplSet } from 'mongodb-memory-server';
2
+ import { IServerInitResult } from './server-init-result';
3
+ import { IApplication } from './application';
4
+ export interface ITestEnvironment {
5
+ application: IApplication;
6
+ mongoServer: MongoMemoryReplSet;
7
+ mongoUri: string;
8
+ accountData: IServerInitResult;
9
+ dbName: string;
10
+ }
11
+ //# sourceMappingURL=test-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-environment.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,YAAY,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=test-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-environment.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IApplication, IEmailService } from '../interfaces';
2
+ /**
3
+ * Dummy email service that does nothing.
4
+ * Primarily for testing
5
+ */
6
+ export declare class DummyEmailService<TApplication extends IApplication = IApplication> implements IEmailService {
7
+ constructor(application: TApplication);
8
+ sendEmail(to: string, subject: string, text: string, html: string): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=dummy-email-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummy-email-service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/dummy-email-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,YAAY,SAAS,YAAY,GAAG,YAAY,CAC7E,YAAW,aAAa;gBAEZ,WAAW,EAAE,YAAY;IACxB,SAAS,CACpB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;CAIjB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DummyEmailService = void 0;
4
+ /**
5
+ * Dummy email service that does nothing.
6
+ * Primarily for testing
7
+ */
8
+ class DummyEmailService {
9
+ constructor(application) { }
10
+ async sendEmail(to, subject, text, html) {
11
+ // Do nothing
12
+ return;
13
+ }
14
+ }
15
+ exports.DummyEmailService = DummyEmailService;
16
+ //# sourceMappingURL=dummy-email-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummy-email-service.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/dummy-email-service.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,iBAAiB;IAG5B,YAAY,WAAyB,IAAG,CAAC;IAClC,KAAK,CAAC,SAAS,CACpB,EAAU,EACV,OAAe,EACf,IAAY,EACZ,IAAY;QAEZ,aAAa;QACb,OAAO;IACT,CAAC;CACF;AAbD,8CAaC"}