@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.
- package/README.md +7 -0
- package/package.json +1 -1
- package/src/__tests__/fixtures/index.d.ts +3 -0
- package/src/__tests__/fixtures/index.d.ts.map +1 -0
- package/src/__tests__/fixtures/index.js +6 -0
- package/src/__tests__/fixtures/index.js.map +1 -0
- package/src/__tests__/fixtures/mock-backend-member.d.ts +69 -0
- package/src/__tests__/fixtures/mock-backend-member.d.ts.map +1 -0
- package/src/__tests__/fixtures/mock-backend-member.js +127 -0
- package/src/__tests__/fixtures/mock-backend-member.js.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts +6 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.js +94 -0
- package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
- package/src/__tests__/helpers/application.mock.d.ts +8 -0
- package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
- package/src/__tests__/helpers/application.mock.js +77 -0
- package/src/__tests__/helpers/application.mock.js.map +1 -0
- package/src/__tests__/helpers/index.d.ts +4 -0
- package/src/__tests__/helpers/index.d.ts.map +1 -0
- package/src/__tests__/helpers/index.js +7 -0
- package/src/__tests__/helpers/index.js.map +1 -0
- package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
- package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
- package/src/__tests__/helpers/setup-test-env.js +119 -0
- package/src/__tests__/helpers/setup-test-env.js.map +1 -0
- package/src/__tests__/index.d.ts +3 -0
- package/src/__tests__/index.d.ts.map +1 -0
- package/src/__tests__/index.js +6 -0
- package/src/__tests__/index.js.map +1 -0
- package/src/application-concrete.d.ts +12 -0
- package/src/application-concrete.d.ts.map +1 -0
- package/src/application-concrete.js +21 -0
- package/src/application-concrete.js.map +1 -0
- package/src/application.d.ts +2 -2
- package/src/application.d.ts.map +1 -1
- package/src/application.js.map +1 -1
- package/src/builders/application-builder.d.ts +2 -2
- package/src/builders/application-builder.d.ts.map +1 -1
- package/src/index.d.ts +3 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +3 -0
- package/src/index.js.map +1 -1
- package/src/interfaces/test-environment.d.ts +11 -0
- package/src/interfaces/test-environment.d.ts.map +1 -0
- package/src/interfaces/test-environment.js +3 -0
- package/src/interfaces/test-environment.js.map +1 -0
- package/src/services/dummy-email-service.d.ts +10 -0
- package/src/services/dummy-email-service.d.ts.map +1 -0
- package/src/services/dummy-email-service.js +16 -0
- 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
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/src/application.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Application as ExpressApplication } from 'express';
|
|
2
|
-
import 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<
|
|
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;
|
package/src/application.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/src/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":";;;;AAAA,wDAA4D;AAC5D,oEAMyC;AACzC,8DAKiB;AACjB,2BAAkC;AAElC,iCAAqC;AAErC,+BAAsD;AACtD,yDAAqD;AAGrD,6CAAsF;AAEtF,+CAAgE;AAChE,uCAA0C;AAG1C,mCAAwE;AAExE,4DAAwE;
|
|
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
|
|
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<
|
|
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,
|
|
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
|
package/src/index.d.ts.map
CHANGED
|
@@ -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 @@
|
|
|
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"}
|